#include <unordered_map>
#include "error.h"

std::unordered_map<unsigned int, const char*> ErrorNames;

void ErrorCodeInit()
{
    ErrorNames.clear();
    ErrorNames.insert(std::make_pair(0, "ERROR_SUCCESS"));
    ErrorNames.insert(std::make_pair(1, "ERROR_INVALID_FUNCTION"));
    ErrorNames.insert(std::make_pair(2, "ERROR_FILE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(3, "ERROR_PATH_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(4, "ERROR_TOO_MANY_OPEN_FILES"));
    ErrorNames.insert(std::make_pair(5, "ERROR_ACCESS_DENIED"));
    ErrorNames.insert(std::make_pair(6, "ERROR_INVALID_HANDLE"));
    ErrorNames.insert(std::make_pair(7, "ERROR_ARENA_TRASHED"));
    ErrorNames.insert(std::make_pair(8, "ERROR_NOT_ENOUGH_MEMORY"));
    ErrorNames.insert(std::make_pair(9, "ERROR_INVALID_BLOCK"));
    ErrorNames.insert(std::make_pair(10, "ERROR_BAD_ENVIRONMENT"));
    ErrorNames.insert(std::make_pair(11, "ERROR_BAD_FORMAT"));
    ErrorNames.insert(std::make_pair(12, "ERROR_INVALID_ACCESS"));
    ErrorNames.insert(std::make_pair(13, "ERROR_INVALID_DATA"));
    ErrorNames.insert(std::make_pair(14, "ERROR_OUTOFMEMORY"));
    ErrorNames.insert(std::make_pair(15, "ERROR_INVALID_DRIVE"));
    ErrorNames.insert(std::make_pair(16, "ERROR_CURRENT_DIRECTORY"));
    ErrorNames.insert(std::make_pair(17, "ERROR_NOT_SAME_DEVICE"));
    ErrorNames.insert(std::make_pair(18, "ERROR_NO_MORE_FILES"));
    ErrorNames.insert(std::make_pair(19, "ERROR_WRITE_PROTECT"));
    ErrorNames.insert(std::make_pair(20, "ERROR_BAD_UNIT"));
    ErrorNames.insert(std::make_pair(21, "ERROR_NOT_READY"));
    ErrorNames.insert(std::make_pair(22, "ERROR_BAD_COMMAND"));
    ErrorNames.insert(std::make_pair(23, "ERROR_CRC"));
    ErrorNames.insert(std::make_pair(24, "ERROR_BAD_LENGTH"));
    ErrorNames.insert(std::make_pair(25, "ERROR_SEEK"));
    ErrorNames.insert(std::make_pair(26, "ERROR_NOT_DOS_DISK"));
    ErrorNames.insert(std::make_pair(27, "ERROR_SECTOR_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(28, "ERROR_OUT_OF_PAPER"));
    ErrorNames.insert(std::make_pair(29, "ERROR_WRITE_FAULT"));
    ErrorNames.insert(std::make_pair(30, "ERROR_READ_FAULT"));
    ErrorNames.insert(std::make_pair(31, "ERROR_GEN_FAILURE"));
    ErrorNames.insert(std::make_pair(32, "ERROR_SHARING_VIOLATION"));
    ErrorNames.insert(std::make_pair(33, "ERROR_LOCK_VIOLATION"));
    ErrorNames.insert(std::make_pair(34, "ERROR_WRONG_DISK"));
    ErrorNames.insert(std::make_pair(36, "ERROR_SHARING_BUFFER_EXCEEDED"));
    ErrorNames.insert(std::make_pair(38, "ERROR_HANDLE_EOF"));
    ErrorNames.insert(std::make_pair(39, "ERROR_HANDLE_DISK_FULL"));
    ErrorNames.insert(std::make_pair(50, "ERROR_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(51, "ERROR_REM_NOT_LIST"));
    ErrorNames.insert(std::make_pair(52, "ERROR_DUP_NAME"));
    ErrorNames.insert(std::make_pair(53, "ERROR_BAD_NETPATH"));
    ErrorNames.insert(std::make_pair(54, "ERROR_NETWORK_BUSY"));
    ErrorNames.insert(std::make_pair(55, "ERROR_DEV_NOT_EXIST"));
    ErrorNames.insert(std::make_pair(56, "ERROR_TOO_MANY_CMDS"));
    ErrorNames.insert(std::make_pair(57, "ERROR_ADAP_HDW_ERR"));
    ErrorNames.insert(std::make_pair(58, "ERROR_BAD_NET_RESP"));
    ErrorNames.insert(std::make_pair(59, "ERROR_UNEXP_NET_ERR"));
    ErrorNames.insert(std::make_pair(60, "ERROR_BAD_REM_ADAP"));
    ErrorNames.insert(std::make_pair(61, "ERROR_PRINTQ_FULL"));
    ErrorNames.insert(std::make_pair(62, "ERROR_NO_SPOOL_SPACE"));
    ErrorNames.insert(std::make_pair(63, "ERROR_PRINT_CANCELLED"));
    ErrorNames.insert(std::make_pair(64, "ERROR_NETNAME_DELETED"));
    ErrorNames.insert(std::make_pair(65, "ERROR_NETWORK_ACCESS_DENIED"));
    ErrorNames.insert(std::make_pair(66, "ERROR_BAD_DEV_TYPE"));
    ErrorNames.insert(std::make_pair(67, "ERROR_BAD_NET_NAME"));
    ErrorNames.insert(std::make_pair(68, "ERROR_TOO_MANY_NAMES"));
    ErrorNames.insert(std::make_pair(69, "ERROR_TOO_MANY_SESS"));
    ErrorNames.insert(std::make_pair(70, "ERROR_SHARING_PAUSED"));
    ErrorNames.insert(std::make_pair(71, "ERROR_REQ_NOT_ACCEP"));
    ErrorNames.insert(std::make_pair(72, "ERROR_REDIR_PAUSED"));
    ErrorNames.insert(std::make_pair(80, "ERROR_FILE_EXISTS"));
    ErrorNames.insert(std::make_pair(82, "ERROR_CANNOT_MAKE"));
    ErrorNames.insert(std::make_pair(83, "ERROR_FAIL_I24"));
    ErrorNames.insert(std::make_pair(84, "ERROR_OUT_OF_STRUCTURES"));
    ErrorNames.insert(std::make_pair(85, "ERROR_ALREADY_ASSIGNED"));
    ErrorNames.insert(std::make_pair(86, "ERROR_INVALID_PASSWORD"));
    ErrorNames.insert(std::make_pair(87, "ERROR_INVALID_PARAMETER"));
    ErrorNames.insert(std::make_pair(88, "ERROR_NET_WRITE_FAULT"));
    ErrorNames.insert(std::make_pair(89, "ERROR_NO_PROC_SLOTS"));
    ErrorNames.insert(std::make_pair(100, "ERROR_TOO_MANY_SEMAPHORES"));
    ErrorNames.insert(std::make_pair(101, "ERROR_EXCL_SEM_ALREADY_OWNED"));
    ErrorNames.insert(std::make_pair(102, "ERROR_SEM_IS_SET"));
    ErrorNames.insert(std::make_pair(103, "ERROR_TOO_MANY_SEM_REQUESTS"));
    ErrorNames.insert(std::make_pair(104, "ERROR_INVALID_AT_INTERRUPT_TIME"));
    ErrorNames.insert(std::make_pair(105, "ERROR_SEM_OWNER_DIED"));
    ErrorNames.insert(std::make_pair(106, "ERROR_SEM_USER_LIMIT"));
    ErrorNames.insert(std::make_pair(107, "ERROR_DISK_CHANGE"));
    ErrorNames.insert(std::make_pair(108, "ERROR_DRIVE_LOCKED"));
    ErrorNames.insert(std::make_pair(109, "ERROR_BROKEN_PIPE"));
    ErrorNames.insert(std::make_pair(110, "ERROR_OPEN_FAILED"));
    ErrorNames.insert(std::make_pair(111, "ERROR_BUFFER_OVERFLOW"));
    ErrorNames.insert(std::make_pair(112, "ERROR_DISK_FULL"));
    ErrorNames.insert(std::make_pair(113, "ERROR_NO_MORE_SEARCH_HANDLES"));
    ErrorNames.insert(std::make_pair(114, "ERROR_INVALID_TARGET_HANDLE"));
    ErrorNames.insert(std::make_pair(117, "ERROR_INVALID_CATEGORY"));
    ErrorNames.insert(std::make_pair(118, "ERROR_INVALID_VERIFY_SWITCH"));
    ErrorNames.insert(std::make_pair(119, "ERROR_BAD_DRIVER_LEVEL"));
    ErrorNames.insert(std::make_pair(120, "ERROR_CALL_NOT_IMPLEMENTED"));
    ErrorNames.insert(std::make_pair(121, "ERROR_SEM_TIMEOUT"));
    ErrorNames.insert(std::make_pair(122, "ERROR_INSUFFICIENT_BUFFER"));
    ErrorNames.insert(std::make_pair(123, "ERROR_INVALID_NAME"));
    ErrorNames.insert(std::make_pair(124, "ERROR_INVALID_LEVEL"));
    ErrorNames.insert(std::make_pair(125, "ERROR_NO_VOLUME_LABEL"));
    ErrorNames.insert(std::make_pair(126, "ERROR_MOD_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(127, "ERROR_PROC_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(128, "ERROR_WAIT_NO_CHILDREN"));
    ErrorNames.insert(std::make_pair(129, "ERROR_CHILD_NOT_COMPLETE"));
    ErrorNames.insert(std::make_pair(130, "ERROR_DIRECT_ACCESS_HANDLE"));
    ErrorNames.insert(std::make_pair(131, "ERROR_NEGATIVE_SEEK"));
    ErrorNames.insert(std::make_pair(132, "ERROR_SEEK_ON_DEVICE"));
    ErrorNames.insert(std::make_pair(133, "ERROR_IS_JOIN_TARGET"));
    ErrorNames.insert(std::make_pair(134, "ERROR_IS_JOINED"));
    ErrorNames.insert(std::make_pair(135, "ERROR_IS_SUBSTED"));
    ErrorNames.insert(std::make_pair(136, "ERROR_NOT_JOINED"));
    ErrorNames.insert(std::make_pair(137, "ERROR_NOT_SUBSTED"));
    ErrorNames.insert(std::make_pair(138, "ERROR_JOIN_TO_JOIN"));
    ErrorNames.insert(std::make_pair(139, "ERROR_SUBST_TO_SUBST"));
    ErrorNames.insert(std::make_pair(140, "ERROR_JOIN_TO_SUBST"));
    ErrorNames.insert(std::make_pair(141, "ERROR_SUBST_TO_JOIN"));
    ErrorNames.insert(std::make_pair(142, "ERROR_BUSY_DRIVE"));
    ErrorNames.insert(std::make_pair(143, "ERROR_SAME_DRIVE"));
    ErrorNames.insert(std::make_pair(144, "ERROR_DIR_NOT_ROOT"));
    ErrorNames.insert(std::make_pair(145, "ERROR_DIR_NOT_EMPTY"));
    ErrorNames.insert(std::make_pair(146, "ERROR_IS_SUBST_PATH"));
    ErrorNames.insert(std::make_pair(147, "ERROR_IS_JOIN_PATH"));
    ErrorNames.insert(std::make_pair(148, "ERROR_PATH_BUSY"));
    ErrorNames.insert(std::make_pair(149, "ERROR_IS_SUBST_TARGET"));
    ErrorNames.insert(std::make_pair(150, "ERROR_SYSTEM_TRACE"));
    ErrorNames.insert(std::make_pair(151, "ERROR_INVALID_EVENT_COUNT"));
    ErrorNames.insert(std::make_pair(152, "ERROR_TOO_MANY_MUXWAITERS"));
    ErrorNames.insert(std::make_pair(153, "ERROR_INVALID_LIST_FORMAT"));
    ErrorNames.insert(std::make_pair(154, "ERROR_LABEL_TOO_LONG"));
    ErrorNames.insert(std::make_pair(155, "ERROR_TOO_MANY_TCBS"));
    ErrorNames.insert(std::make_pair(156, "ERROR_SIGNAL_REFUSED"));
    ErrorNames.insert(std::make_pair(157, "ERROR_DISCARDED"));
    ErrorNames.insert(std::make_pair(158, "ERROR_NOT_LOCKED"));
    ErrorNames.insert(std::make_pair(159, "ERROR_BAD_THREADID_ADDR"));
    ErrorNames.insert(std::make_pair(160, "ERROR_BAD_ARGUMENTS"));
    ErrorNames.insert(std::make_pair(161, "ERROR_BAD_PATHNAME"));
    ErrorNames.insert(std::make_pair(162, "ERROR_SIGNAL_PENDING"));
    ErrorNames.insert(std::make_pair(164, "ERROR_MAX_THRDS_REACHED"));
    ErrorNames.insert(std::make_pair(167, "ERROR_LOCK_FAILED"));
    ErrorNames.insert(std::make_pair(170, "ERROR_BUSY"));
    ErrorNames.insert(std::make_pair(173, "ERROR_CANCEL_VIOLATION"));
    ErrorNames.insert(std::make_pair(174, "ERROR_ATOMIC_LOCKS_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(180, "ERROR_INVALID_SEGMENT_NUMBER"));
    ErrorNames.insert(std::make_pair(182, "ERROR_INVALID_ORDINAL"));
    ErrorNames.insert(std::make_pair(183, "ERROR_ALREADY_EXISTS"));
    ErrorNames.insert(std::make_pair(186, "ERROR_INVALID_FLAG_NUMBER"));
    ErrorNames.insert(std::make_pair(187, "ERROR_SEM_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(188, "ERROR_INVALID_STARTING_CODESEG"));
    ErrorNames.insert(std::make_pair(189, "ERROR_INVALID_STACKSEG"));
    ErrorNames.insert(std::make_pair(190, "ERROR_INVALID_MODULETYPE"));
    ErrorNames.insert(std::make_pair(191, "ERROR_INVALID_EXE_SIGNATURE"));
    ErrorNames.insert(std::make_pair(192, "ERROR_EXE_MARKED_INVALID"));
    ErrorNames.insert(std::make_pair(193, "ERROR_BAD_EXE_FORMAT"));
    ErrorNames.insert(std::make_pair(194, "ERROR_ITERATED_DATA_EXCEEDS_64k"));
    ErrorNames.insert(std::make_pair(195, "ERROR_INVALID_MINALLOCSIZE"));
    ErrorNames.insert(std::make_pair(196, "ERROR_DYNLINK_FROM_INVALID_RING"));
    ErrorNames.insert(std::make_pair(197, "ERROR_IOPL_NOT_ENABLED"));
    ErrorNames.insert(std::make_pair(198, "ERROR_INVALID_SEGDPL"));
    ErrorNames.insert(std::make_pair(199, "ERROR_AUTODATASEG_EXCEEDS_64k"));
    ErrorNames.insert(std::make_pair(200, "ERROR_RING2SEG_MUST_BE_MOVABLE"));
    ErrorNames.insert(std::make_pair(201, "ERROR_RELOC_CHAIN_XEEDS_SEGLIM"));
    ErrorNames.insert(std::make_pair(202, "ERROR_INFLOOP_IN_RELOC_CHAIN"));
    ErrorNames.insert(std::make_pair(203, "ERROR_ENVVAR_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(205, "ERROR_NO_SIGNAL_SENT"));
    ErrorNames.insert(std::make_pair(206, "ERROR_FILENAME_EXCED_RANGE"));
    ErrorNames.insert(std::make_pair(207, "ERROR_RING2_STACK_IN_USE"));
    ErrorNames.insert(std::make_pair(208, "ERROR_META_EXPANSION_TOO_LONG"));
    ErrorNames.insert(std::make_pair(209, "ERROR_INVALID_SIGNAL_NUMBER"));
    ErrorNames.insert(std::make_pair(210, "ERROR_THREAD_1_INACTIVE"));
    ErrorNames.insert(std::make_pair(212, "ERROR_LOCKED"));
    ErrorNames.insert(std::make_pair(214, "ERROR_TOO_MANY_MODULES"));
    ErrorNames.insert(std::make_pair(215, "ERROR_NESTING_NOT_ALLOWED"));
    ErrorNames.insert(std::make_pair(216, "ERROR_EXE_MACHINE_TYPE_MISMATCH"));
    ErrorNames.insert(std::make_pair(217, "ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY"));
    ErrorNames.insert(std::make_pair(218, "ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY"));
    ErrorNames.insert(std::make_pair(220, "ERROR_FILE_CHECKED_OUT"));
    ErrorNames.insert(std::make_pair(221, "ERROR_CHECKOUT_REQUIRED"));
    ErrorNames.insert(std::make_pair(222, "ERROR_BAD_FILE_TYPE"));
    ErrorNames.insert(std::make_pair(223, "ERROR_FILE_TOO_LARGE"));
    ErrorNames.insert(std::make_pair(224, "ERROR_FORMS_AUTH_REQUIRED"));
    ErrorNames.insert(std::make_pair(225, "ERROR_VIRUS_INFECTED"));
    ErrorNames.insert(std::make_pair(226, "ERROR_VIRUS_DELETED"));
    ErrorNames.insert(std::make_pair(229, "ERROR_PIPE_LOCAL"));
    ErrorNames.insert(std::make_pair(230, "ERROR_BAD_PIPE"));
    ErrorNames.insert(std::make_pair(231, "ERROR_PIPE_BUSY"));
    ErrorNames.insert(std::make_pair(232, "ERROR_NO_DATA"));
    ErrorNames.insert(std::make_pair(233, "ERROR_PIPE_NOT_CONNECTED"));
    ErrorNames.insert(std::make_pair(234, "ERROR_MORE_DATA"));
    ErrorNames.insert(std::make_pair(240, "ERROR_VC_DISCONNECTED"));
    ErrorNames.insert(std::make_pair(254, "ERROR_INVALID_EA_NAME"));
    ErrorNames.insert(std::make_pair(255, "ERROR_EA_LIST_INCONSISTENT"));
    ErrorNames.insert(std::make_pair(259, "ERROR_NO_MORE_ITEMS"));
    ErrorNames.insert(std::make_pair(266, "ERROR_CANNOT_COPY"));
    ErrorNames.insert(std::make_pair(267, "ERROR_DIRECTORY"));
    ErrorNames.insert(std::make_pair(275, "ERROR_EAS_DIDNT_FIT"));
    ErrorNames.insert(std::make_pair(276, "ERROR_EA_FILE_CORRUPT"));
    ErrorNames.insert(std::make_pair(277, "ERROR_EA_TABLE_FULL"));
    ErrorNames.insert(std::make_pair(278, "ERROR_INVALID_EA_HANDLE"));
    ErrorNames.insert(std::make_pair(282, "ERROR_EAS_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(288, "ERROR_NOT_OWNER"));
    ErrorNames.insert(std::make_pair(298, "ERROR_TOO_MANY_POSTS"));
    ErrorNames.insert(std::make_pair(299, "ERROR_PARTIAL_COPY"));
    ErrorNames.insert(std::make_pair(300, "ERROR_OPLOCK_NOT_GRANTED"));
    ErrorNames.insert(std::make_pair(301, "ERROR_INVALID_OPLOCK_PROTOCOL"));
    ErrorNames.insert(std::make_pair(302, "ERROR_DISK_TOO_FRAGMENTED"));
    ErrorNames.insert(std::make_pair(303, "ERROR_DELETE_PENDING"));
    ErrorNames.insert(std::make_pair(304, "ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING"));
    ErrorNames.insert(std::make_pair(305, "ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME"));
    ErrorNames.insert(std::make_pair(306, "ERROR_SECURITY_STREAM_IS_INCONSISTENT"));
    ErrorNames.insert(std::make_pair(307, "ERROR_INVALID_LOCK_RANGE"));
    ErrorNames.insert(std::make_pair(308, "ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT"));
    ErrorNames.insert(std::make_pair(309, "ERROR_NOTIFICATION_GUID_ALREADY_DEFINED"));
    ErrorNames.insert(std::make_pair(317, "ERROR_MR_MID_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(318, "ERROR_SCOPE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(350, "ERROR_FAIL_NOACTION_REBOOT"));
    ErrorNames.insert(std::make_pair(351, "ERROR_FAIL_SHUTDOWN"));
    ErrorNames.insert(std::make_pair(352, "ERROR_FAIL_RESTART"));
    ErrorNames.insert(std::make_pair(353, "ERROR_MAX_SESSIONS_REACHED"));
    ErrorNames.insert(std::make_pair(400, "ERROR_THREAD_MODE_ALREADY_BACKGROUND"));
    ErrorNames.insert(std::make_pair(401, "ERROR_THREAD_MODE_NOT_BACKGROUND"));
    ErrorNames.insert(std::make_pair(402, "ERROR_PROCESS_MODE_ALREADY_BACKGROUND"));
    ErrorNames.insert(std::make_pair(403, "ERROR_PROCESS_MODE_NOT_BACKGROUND"));
    ErrorNames.insert(std::make_pair(487, "ERROR_INVALID_ADDRESS"));
    ErrorNames.insert(std::make_pair(500, "ERROR_USER_PROFILE_LOAD"));
    ErrorNames.insert(std::make_pair(534, "ERROR_ARITHMETIC_OVERFLOW"));
    ErrorNames.insert(std::make_pair(535, "ERROR_PIPE_CONNECTED"));
    ErrorNames.insert(std::make_pair(536, "ERROR_PIPE_LISTENING"));
    ErrorNames.insert(std::make_pair(537, "ERROR_VERIFIER_STOP"));
    ErrorNames.insert(std::make_pair(538, "ERROR_ABIOS_ERROR"));
    ErrorNames.insert(std::make_pair(539, "ERROR_WX86_WARNING"));
    ErrorNames.insert(std::make_pair(540, "ERROR_WX86_ERROR"));
    ErrorNames.insert(std::make_pair(541, "ERROR_TIMER_NOT_CANCELED"));
    ErrorNames.insert(std::make_pair(542, "ERROR_UNWIND"));
    ErrorNames.insert(std::make_pair(543, "ERROR_BAD_STACK"));
    ErrorNames.insert(std::make_pair(544, "ERROR_INVALID_UNWIND_TARGET"));
    ErrorNames.insert(std::make_pair(545, "ERROR_INVALID_PORT_ATTRIBUTES"));
    ErrorNames.insert(std::make_pair(546, "ERROR_PORT_MESSAGE_TOO_LONG"));
    ErrorNames.insert(std::make_pair(547, "ERROR_INVALID_QUOTA_LOWER"));
    ErrorNames.insert(std::make_pair(548, "ERROR_DEVICE_ALREADY_ATTACHED"));
    ErrorNames.insert(std::make_pair(549, "ERROR_INSTRUCTION_MISALIGNMENT"));
    ErrorNames.insert(std::make_pair(550, "ERROR_PROFILING_NOT_STARTED"));
    ErrorNames.insert(std::make_pair(551, "ERROR_PROFILING_NOT_STOPPED"));
    ErrorNames.insert(std::make_pair(552, "ERROR_COULD_NOT_INTERPRET"));
    ErrorNames.insert(std::make_pair(553, "ERROR_PROFILING_AT_LIMIT"));
    ErrorNames.insert(std::make_pair(554, "ERROR_CANT_WAIT"));
    ErrorNames.insert(std::make_pair(555, "ERROR_CANT_TERMINATE_SELF"));
    ErrorNames.insert(std::make_pair(556, "ERROR_UNEXPECTED_MM_CREATE_ERR"));
    ErrorNames.insert(std::make_pair(557, "ERROR_UNEXPECTED_MM_MAP_ERROR"));
    ErrorNames.insert(std::make_pair(558, "ERROR_UNEXPECTED_MM_EXTEND_ERR"));
    ErrorNames.insert(std::make_pair(559, "ERROR_BAD_FUNCTION_TABLE"));
    ErrorNames.insert(std::make_pair(560, "ERROR_NO_GUID_TRANSLATION"));
    ErrorNames.insert(std::make_pair(561, "ERROR_INVALID_LDT_SIZE"));
    ErrorNames.insert(std::make_pair(563, "ERROR_INVALID_LDT_OFFSET"));
    ErrorNames.insert(std::make_pair(564, "ERROR_INVALID_LDT_DESCRIPTOR"));
    ErrorNames.insert(std::make_pair(565, "ERROR_TOO_MANY_THREADS"));
    ErrorNames.insert(std::make_pair(566, "ERROR_THREAD_NOT_IN_PROCESS"));
    ErrorNames.insert(std::make_pair(567, "ERROR_PAGEFILE_QUOTA_EXCEEDED"));
    ErrorNames.insert(std::make_pair(568, "ERROR_LOGON_SERVER_CONFLICT"));
    ErrorNames.insert(std::make_pair(569, "ERROR_SYNCHRONIZATION_REQUIRED"));
    ErrorNames.insert(std::make_pair(570, "ERROR_NET_OPEN_FAILED"));
    ErrorNames.insert(std::make_pair(571, "ERROR_IO_PRIVILEGE_FAILED"));
    ErrorNames.insert(std::make_pair(572, "ERROR_CONTROL_C_EXIT"));
    ErrorNames.insert(std::make_pair(573, "ERROR_MISSING_SYSTEMFILE"));
    ErrorNames.insert(std::make_pair(574, "ERROR_UNHANDLED_EXCEPTION"));
    ErrorNames.insert(std::make_pair(575, "ERROR_APP_INIT_FAILURE"));
    ErrorNames.insert(std::make_pair(576, "ERROR_PAGEFILE_CREATE_FAILED"));
    ErrorNames.insert(std::make_pair(577, "ERROR_INVALID_IMAGE_HASH"));
    ErrorNames.insert(std::make_pair(578, "ERROR_NO_PAGEFILE"));
    ErrorNames.insert(std::make_pair(579, "ERROR_ILLEGAL_FLOAT_CONTEXT"));
    ErrorNames.insert(std::make_pair(580, "ERROR_NO_EVENT_PAIR"));
    ErrorNames.insert(std::make_pair(581, "ERROR_DOMAIN_CTRLR_CONFIG_ERROR"));
    ErrorNames.insert(std::make_pair(582, "ERROR_ILLEGAL_CHARACTER"));
    ErrorNames.insert(std::make_pair(583, "ERROR_UNDEFINED_CHARACTER"));
    ErrorNames.insert(std::make_pair(584, "ERROR_FLOPPY_VOLUME"));
    ErrorNames.insert(std::make_pair(585, "ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT"));
    ErrorNames.insert(std::make_pair(586, "ERROR_BACKUP_CONTROLLER"));
    ErrorNames.insert(std::make_pair(587, "ERROR_MUTANT_LIMIT_EXCEEDED"));
    ErrorNames.insert(std::make_pair(588, "ERROR_FS_DRIVER_REQUIRED"));
    ErrorNames.insert(std::make_pair(589, "ERROR_CANNOT_LOAD_REGISTRY_FILE"));
    ErrorNames.insert(std::make_pair(590, "ERROR_DEBUG_ATTACH_FAILED"));
    ErrorNames.insert(std::make_pair(591, "ERROR_SYSTEM_PROCESS_TERMINATED"));
    ErrorNames.insert(std::make_pair(592, "ERROR_DATA_NOT_ACCEPTED"));
    ErrorNames.insert(std::make_pair(593, "ERROR_VDM_HARD_ERROR"));
    ErrorNames.insert(std::make_pair(594, "ERROR_DRIVER_CANCEL_TIMEOUT"));
    ErrorNames.insert(std::make_pair(595, "ERROR_REPLY_MESSAGE_MISMATCH"));
    ErrorNames.insert(std::make_pair(596, "ERROR_LOST_WRITEBEHIND_DATA"));
    ErrorNames.insert(std::make_pair(597, "ERROR_CLIENT_SERVER_PARAMETERS_INVALID"));
    ErrorNames.insert(std::make_pair(598, "ERROR_NOT_TINY_STREAM"));
    ErrorNames.insert(std::make_pair(599, "ERROR_STACK_OVERFLOW_READ"));
    ErrorNames.insert(std::make_pair(600, "ERROR_CONVERT_TO_LARGE"));
    ErrorNames.insert(std::make_pair(601, "ERROR_FOUND_OUT_OF_SCOPE"));
    ErrorNames.insert(std::make_pair(602, "ERROR_ALLOCATE_BUCKET"));
    ErrorNames.insert(std::make_pair(603, "ERROR_MARSHALL_OVERFLOW"));
    ErrorNames.insert(std::make_pair(604, "ERROR_INVALID_VARIANT"));
    ErrorNames.insert(std::make_pair(605, "ERROR_BAD_COMPRESSION_BUFFER"));
    ErrorNames.insert(std::make_pair(606, "ERROR_AUDIT_FAILED"));
    ErrorNames.insert(std::make_pair(607, "ERROR_TIMER_RESOLUTION_NOT_SET"));
    ErrorNames.insert(std::make_pair(608, "ERROR_INSUFFICIENT_LOGON_INFO"));
    ErrorNames.insert(std::make_pair(609, "ERROR_BAD_DLL_ENTRYPOINT"));
    ErrorNames.insert(std::make_pair(610, "ERROR_BAD_SERVICE_ENTRYPOINT"));
    ErrorNames.insert(std::make_pair(611, "ERROR_IP_ADDRESS_CONFLICT1"));
    ErrorNames.insert(std::make_pair(612, "ERROR_IP_ADDRESS_CONFLICT2"));
    ErrorNames.insert(std::make_pair(613, "ERROR_REGISTRY_QUOTA_LIMIT"));
    ErrorNames.insert(std::make_pair(614, "ERROR_NO_CALLBACK_ACTIVE"));
    ErrorNames.insert(std::make_pair(615, "ERROR_PWD_TOO_SHORT"));
    ErrorNames.insert(std::make_pair(616, "ERROR_PWD_TOO_RECENT"));
    ErrorNames.insert(std::make_pair(617, "ERROR_PWD_HISTORY_CONFLICT"));
    ErrorNames.insert(std::make_pair(618, "ERROR_UNSUPPORTED_COMPRESSION"));
    ErrorNames.insert(std::make_pair(619, "ERROR_INVALID_HW_PROFILE"));
    ErrorNames.insert(std::make_pair(620, "ERROR_INVALID_PLUGPLAY_DEVICE_PATH"));
    ErrorNames.insert(std::make_pair(621, "ERROR_QUOTA_LIST_INCONSISTENT"));
    ErrorNames.insert(std::make_pair(622, "ERROR_EVALUATION_EXPIRATION"));
    ErrorNames.insert(std::make_pair(623, "ERROR_ILLEGAL_DLL_RELOCATION"));
    ErrorNames.insert(std::make_pair(624, "ERROR_DLL_INIT_FAILED_LOGOFF"));
    ErrorNames.insert(std::make_pair(625, "ERROR_VALIDATE_CONTINUE"));
    ErrorNames.insert(std::make_pair(626, "ERROR_NO_MORE_MATCHES"));
    ErrorNames.insert(std::make_pair(627, "ERROR_RANGE_LIST_CONFLICT"));
    ErrorNames.insert(std::make_pair(628, "ERROR_SERVER_SID_MISMATCH"));
    ErrorNames.insert(std::make_pair(629, "ERROR_CANT_ENABLE_DENY_ONLY"));
    ErrorNames.insert(std::make_pair(630, "ERROR_FLOAT_MULTIPLE_FAULTS"));
    ErrorNames.insert(std::make_pair(631, "ERROR_FLOAT_MULTIPLE_TRAPS"));
    ErrorNames.insert(std::make_pair(632, "ERROR_NOINTERFACE"));
    ErrorNames.insert(std::make_pair(633, "ERROR_DRIVER_FAILED_SLEEP"));
    ErrorNames.insert(std::make_pair(634, "ERROR_CORRUPT_SYSTEM_FILE"));
    ErrorNames.insert(std::make_pair(635, "ERROR_COMMITMENT_MINIMUM"));
    ErrorNames.insert(std::make_pair(636, "ERROR_PNP_RESTART_ENUMERATION"));
    ErrorNames.insert(std::make_pair(637, "ERROR_SYSTEM_IMAGE_BAD_SIGNATURE"));
    ErrorNames.insert(std::make_pair(638, "ERROR_PNP_REBOOT_REQUIRED"));
    ErrorNames.insert(std::make_pair(639, "ERROR_INSUFFICIENT_POWER"));
    ErrorNames.insert(std::make_pair(640, "ERROR_MULTIPLE_FAULT_VIOLATION"));
    ErrorNames.insert(std::make_pair(641, "ERROR_SYSTEM_SHUTDOWN"));
    ErrorNames.insert(std::make_pair(642, "ERROR_PORT_NOT_SET"));
    ErrorNames.insert(std::make_pair(643, "ERROR_DS_VERSION_CHECK_FAILURE"));
    ErrorNames.insert(std::make_pair(644, "ERROR_RANGE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(646, "ERROR_NOT_SAFE_MODE_DRIVER"));
    ErrorNames.insert(std::make_pair(647, "ERROR_FAILED_DRIVER_ENTRY"));
    ErrorNames.insert(std::make_pair(648, "ERROR_DEVICE_ENUMERATION_ERROR"));
    ErrorNames.insert(std::make_pair(649, "ERROR_MOUNT_POINT_NOT_RESOLVED"));
    ErrorNames.insert(std::make_pair(650, "ERROR_INVALID_DEVICE_OBJECT_PARAMETER"));
    ErrorNames.insert(std::make_pair(651, "ERROR_MCA_OCCURED"));
    ErrorNames.insert(std::make_pair(652, "ERROR_DRIVER_DATABASE_ERROR"));
    ErrorNames.insert(std::make_pair(653, "ERROR_SYSTEM_HIVE_TOO_LARGE"));
    ErrorNames.insert(std::make_pair(654, "ERROR_DRIVER_FAILED_PRIOR_UNLOAD"));
    ErrorNames.insert(std::make_pair(655, "ERROR_VOLSNAP_PREPARE_HIBERNATE"));
    ErrorNames.insert(std::make_pair(656, "ERROR_HIBERNATION_FAILURE"));
    ErrorNames.insert(std::make_pair(665, "ERROR_FILE_SYSTEM_LIMITATION"));
    ErrorNames.insert(std::make_pair(668, "ERROR_ASSERTION_FAILURE"));
    ErrorNames.insert(std::make_pair(669, "ERROR_ACPI_ERROR"));
    ErrorNames.insert(std::make_pair(670, "ERROR_WOW_ASSERTION"));
    ErrorNames.insert(std::make_pair(671, "ERROR_PNP_BAD_MPS_TABLE"));
    ErrorNames.insert(std::make_pair(672, "ERROR_PNP_TRANSLATION_FAILED"));
    ErrorNames.insert(std::make_pair(673, "ERROR_PNP_IRQ_TRANSLATION_FAILED"));
    ErrorNames.insert(std::make_pair(674, "ERROR_PNP_INVALID_ID"));
    ErrorNames.insert(std::make_pair(675, "ERROR_WAKE_SYSTEM_DEBUGGER"));
    ErrorNames.insert(std::make_pair(676, "ERROR_HANDLES_CLOSED"));
    ErrorNames.insert(std::make_pair(677, "ERROR_EXTRANEOUS_INFORMATION"));
    ErrorNames.insert(std::make_pair(678, "ERROR_RXACT_COMMIT_NECESSARY"));
    ErrorNames.insert(std::make_pair(679, "ERROR_MEDIA_CHECK"));
    ErrorNames.insert(std::make_pair(680, "ERROR_GUID_SUBSTITUTION_MADE"));
    ErrorNames.insert(std::make_pair(681, "ERROR_STOPPED_ON_SYMLINK"));
    ErrorNames.insert(std::make_pair(682, "ERROR_LONGJUMP"));
    ErrorNames.insert(std::make_pair(683, "ERROR_PLUGPLAY_QUERY_VETOED"));
    ErrorNames.insert(std::make_pair(684, "ERROR_UNWIND_CONSOLIDATE"));
    ErrorNames.insert(std::make_pair(685, "ERROR_REGISTRY_HIVE_RECOVERED"));
    ErrorNames.insert(std::make_pair(686, "ERROR_DLL_MIGHT_BE_INSECURE"));
    ErrorNames.insert(std::make_pair(687, "ERROR_DLL_MIGHT_BE_INCOMPATIBLE"));
    ErrorNames.insert(std::make_pair(688, "ERROR_DBG_EXCEPTION_NOT_HANDLED"));
    ErrorNames.insert(std::make_pair(689, "ERROR_DBG_REPLY_LATER"));
    ErrorNames.insert(std::make_pair(690, "ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE"));
    ErrorNames.insert(std::make_pair(691, "ERROR_DBG_TERMINATE_THREAD"));
    ErrorNames.insert(std::make_pair(692, "ERROR_DBG_TERMINATE_PROCESS"));
    ErrorNames.insert(std::make_pair(693, "ERROR_DBG_CONTROL_C"));
    ErrorNames.insert(std::make_pair(694, "ERROR_DBG_PRINTEXCEPTION_C"));
    ErrorNames.insert(std::make_pair(695, "ERROR_DBG_RIPEXCEPTION"));
    ErrorNames.insert(std::make_pair(696, "ERROR_DBG_CONTROL_BREAK"));
    ErrorNames.insert(std::make_pair(697, "ERROR_DBG_COMMAND_EXCEPTION"));
    ErrorNames.insert(std::make_pair(698, "ERROR_OBJECT_NAME_EXISTS"));
    ErrorNames.insert(std::make_pair(699, "ERROR_THREAD_WAS_SUSPENDED"));
    ErrorNames.insert(std::make_pair(700, "ERROR_IMAGE_NOT_AT_BASE"));
    ErrorNames.insert(std::make_pair(701, "ERROR_RXACT_STATE_CREATED"));
    ErrorNames.insert(std::make_pair(702, "ERROR_SEGMENT_NOTIFICATION"));
    ErrorNames.insert(std::make_pair(703, "ERROR_BAD_CURRENT_DIRECTORY"));
    ErrorNames.insert(std::make_pair(704, "ERROR_FT_READ_RECOVERY_FROM_BACKUP"));
    ErrorNames.insert(std::make_pair(705, "ERROR_FT_WRITE_RECOVERY"));
    ErrorNames.insert(std::make_pair(706, "ERROR_IMAGE_MACHINE_TYPE_MISMATCH"));
    ErrorNames.insert(std::make_pair(707, "ERROR_RECEIVE_PARTIAL"));
    ErrorNames.insert(std::make_pair(708, "ERROR_RECEIVE_EXPEDITED"));
    ErrorNames.insert(std::make_pair(709, "ERROR_RECEIVE_PARTIAL_EXPEDITED"));
    ErrorNames.insert(std::make_pair(710, "ERROR_EVENT_DONE"));
    ErrorNames.insert(std::make_pair(711, "ERROR_EVENT_PENDING"));
    ErrorNames.insert(std::make_pair(712, "ERROR_CHECKING_FILE_SYSTEM"));
    ErrorNames.insert(std::make_pair(713, "ERROR_FATAL_APP_EXIT"));
    ErrorNames.insert(std::make_pair(714, "ERROR_PREDEFINED_HANDLE"));
    ErrorNames.insert(std::make_pair(715, "ERROR_WAS_UNLOCKED"));
    ErrorNames.insert(std::make_pair(716, "ERROR_SERVICE_NOTIFICATION"));
    ErrorNames.insert(std::make_pair(717, "ERROR_WAS_LOCKED"));
    ErrorNames.insert(std::make_pair(718, "ERROR_LOG_HARD_ERROR"));
    ErrorNames.insert(std::make_pair(719, "ERROR_ALREADY_WIN32"));
    ErrorNames.insert(std::make_pair(720, "ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE"));
    ErrorNames.insert(std::make_pair(721, "ERROR_NO_YIELD_PERFORMED"));
    ErrorNames.insert(std::make_pair(722, "ERROR_TIMER_RESUME_IGNORED"));
    ErrorNames.insert(std::make_pair(723, "ERROR_ARBITRATION_UNHANDLED"));
    ErrorNames.insert(std::make_pair(724, "ERROR_CARDBUS_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(725, "ERROR_MP_PROCESSOR_MISMATCH"));
    ErrorNames.insert(std::make_pair(726, "ERROR_HIBERNATED"));
    ErrorNames.insert(std::make_pair(727, "ERROR_RESUME_HIBERNATION"));
    ErrorNames.insert(std::make_pair(728, "ERROR_FIRMWARE_UPDATED"));
    ErrorNames.insert(std::make_pair(729, "ERROR_DRIVERS_LEAKING_LOCKED_PAGES"));
    ErrorNames.insert(std::make_pair(730, "ERROR_WAKE_SYSTEM"));
    ErrorNames.insert(std::make_pair(731, "ERROR_WAIT_1"));
    ErrorNames.insert(std::make_pair(732, "ERROR_WAIT_2"));
    ErrorNames.insert(std::make_pair(733, "ERROR_WAIT_3"));
    ErrorNames.insert(std::make_pair(734, "ERROR_WAIT_63"));
    ErrorNames.insert(std::make_pair(735, "ERROR_ABANDONED_WAIT_0"));
    ErrorNames.insert(std::make_pair(736, "ERROR_ABANDONED_WAIT_63"));
    ErrorNames.insert(std::make_pair(737, "ERROR_USER_APC"));
    ErrorNames.insert(std::make_pair(738, "ERROR_KERNEL_APC"));
    ErrorNames.insert(std::make_pair(739, "ERROR_ALERTED"));
    ErrorNames.insert(std::make_pair(740, "ERROR_ELEVATION_REQUIRED"));
    ErrorNames.insert(std::make_pair(741, "ERROR_REPARSE"));
    ErrorNames.insert(std::make_pair(742, "ERROR_OPLOCK_BREAK_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(743, "ERROR_VOLUME_MOUNTED"));
    ErrorNames.insert(std::make_pair(744, "ERROR_RXACT_COMMITTED"));
    ErrorNames.insert(std::make_pair(745, "ERROR_NOTIFY_CLEANUP"));
    ErrorNames.insert(std::make_pair(746, "ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED"));
    ErrorNames.insert(std::make_pair(747, "ERROR_PAGE_FAULT_TRANSITION"));
    ErrorNames.insert(std::make_pair(748, "ERROR_PAGE_FAULT_DEMAND_ZERO"));
    ErrorNames.insert(std::make_pair(749, "ERROR_PAGE_FAULT_COPY_ON_WRITE"));
    ErrorNames.insert(std::make_pair(750, "ERROR_PAGE_FAULT_GUARD_PAGE"));
    ErrorNames.insert(std::make_pair(751, "ERROR_PAGE_FAULT_PAGING_FILE"));
    ErrorNames.insert(std::make_pair(752, "ERROR_CACHE_PAGE_LOCKED"));
    ErrorNames.insert(std::make_pair(753, "ERROR_CRASH_DUMP"));
    ErrorNames.insert(std::make_pair(754, "ERROR_BUFFER_ALL_ZEROS"));
    ErrorNames.insert(std::make_pair(755, "ERROR_REPARSE_OBJECT"));
    ErrorNames.insert(std::make_pair(756, "ERROR_RESOURCE_REQUIREMENTS_CHANGED"));
    ErrorNames.insert(std::make_pair(757, "ERROR_TRANSLATION_COMPLETE"));
    ErrorNames.insert(std::make_pair(758, "ERROR_NOTHING_TO_TERMINATE"));
    ErrorNames.insert(std::make_pair(759, "ERROR_PROCESS_NOT_IN_JOB"));
    ErrorNames.insert(std::make_pair(760, "ERROR_PROCESS_IN_JOB"));
    ErrorNames.insert(std::make_pair(761, "ERROR_VOLSNAP_HIBERNATE_READY"));
    ErrorNames.insert(std::make_pair(762, "ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY"));
    ErrorNames.insert(std::make_pair(763, "ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED"));
    ErrorNames.insert(std::make_pair(764, "ERROR_INTERRUPT_STILL_CONNECTED"));
    ErrorNames.insert(std::make_pair(765, "ERROR_WAIT_FOR_OPLOCK"));
    ErrorNames.insert(std::make_pair(766, "ERROR_DBG_EXCEPTION_HANDLED"));
    ErrorNames.insert(std::make_pair(767, "ERROR_DBG_CONTINUE"));
    ErrorNames.insert(std::make_pair(768, "ERROR_CALLBACK_POP_STACK"));
    ErrorNames.insert(std::make_pair(769, "ERROR_COMPRESSION_DISABLED"));
    ErrorNames.insert(std::make_pair(770, "ERROR_CANTFETCHBACKWARDS"));
    ErrorNames.insert(std::make_pair(771, "ERROR_CANTSCROLLBACKWARDS"));
    ErrorNames.insert(std::make_pair(772, "ERROR_ROWSNOTRELEASED"));
    ErrorNames.insert(std::make_pair(773, "ERROR_BAD_ACCESSOR_FLAGS"));
    ErrorNames.insert(std::make_pair(774, "ERROR_ERRORS_ENCOUNTERED"));
    ErrorNames.insert(std::make_pair(775, "ERROR_NOT_CAPABLE"));
    ErrorNames.insert(std::make_pair(776, "ERROR_REQUEST_OUT_OF_SEQUENCE"));
    ErrorNames.insert(std::make_pair(777, "ERROR_VERSION_PARSE_ERROR"));
    ErrorNames.insert(std::make_pair(778, "ERROR_BADSTARTPOSITION"));
    ErrorNames.insert(std::make_pair(779, "ERROR_MEMORY_HARDWARE"));
    ErrorNames.insert(std::make_pair(780, "ERROR_DISK_REPAIR_DISABLED"));
    ErrorNames.insert(std::make_pair(781, "ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE"));
    ErrorNames.insert(std::make_pair(782, "ERROR_SYSTEM_POWERSTATE_TRANSITION"));
    ErrorNames.insert(std::make_pair(783, "ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION"));
    ErrorNames.insert(std::make_pair(784, "ERROR_MCA_EXCEPTION"));
    ErrorNames.insert(std::make_pair(785, "ERROR_ACCESS_AUDIT_BY_POLICY"));
    ErrorNames.insert(std::make_pair(786, "ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY"));
    ErrorNames.insert(std::make_pair(787, "ERROR_ABANDON_HIBERFILE"));
    ErrorNames.insert(std::make_pair(788, "ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED"));
    ErrorNames.insert(std::make_pair(789, "ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR"));
    ErrorNames.insert(std::make_pair(790, "ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR"));
    ErrorNames.insert(std::make_pair(791, "ERROR_BAD_MCFG_TABLE"));
    ErrorNames.insert(std::make_pair(800, "ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE"));
    ErrorNames.insert(std::make_pair(801, "ERROR_CANNOT_GRANT_REQUESTED_OPLOCK"));
    ErrorNames.insert(std::make_pair(802, "ERROR_CANNOT_BREAK_OPLOCK"));
    ErrorNames.insert(std::make_pair(803, "ERROR_OPLOCK_HANDLE_CLOSED"));
    ErrorNames.insert(std::make_pair(804, "ERROR_NO_ACE_CONDITION"));
    ErrorNames.insert(std::make_pair(805, "ERROR_INVALID_ACE_CONDITION"));
    ErrorNames.insert(std::make_pair(994, "ERROR_EA_ACCESS_DENIED"));
    ErrorNames.insert(std::make_pair(995, "ERROR_OPERATION_ABORTED"));
    ErrorNames.insert(std::make_pair(996, "ERROR_IO_INCOMPLETE"));
    ErrorNames.insert(std::make_pair(997, "ERROR_IO_PENDING"));
    ErrorNames.insert(std::make_pair(998, "ERROR_NOACCESS"));
    ErrorNames.insert(std::make_pair(999, "ERROR_SWAPERROR"));
    ErrorNames.insert(std::make_pair(1001, "ERROR_STACK_OVERFLOW"));
    ErrorNames.insert(std::make_pair(1002, "ERROR_INVALID_MESSAGE"));
    ErrorNames.insert(std::make_pair(1003, "ERROR_CAN_NOT_COMPLETE"));
    ErrorNames.insert(std::make_pair(1004, "ERROR_INVALID_FLAGS"));
    ErrorNames.insert(std::make_pair(1005, "ERROR_UNRECOGNIZED_VOLUME"));
    ErrorNames.insert(std::make_pair(1006, "ERROR_FILE_INVALID"));
    ErrorNames.insert(std::make_pair(1007, "ERROR_FULLSCREEN_MODE"));
    ErrorNames.insert(std::make_pair(1008, "ERROR_NO_TOKEN"));
    ErrorNames.insert(std::make_pair(1009, "ERROR_BADDB"));
    ErrorNames.insert(std::make_pair(1010, "ERROR_BADKEY"));
    ErrorNames.insert(std::make_pair(1011, "ERROR_CANTOPEN"));
    ErrorNames.insert(std::make_pair(1012, "ERROR_CANTREAD"));
    ErrorNames.insert(std::make_pair(1013, "ERROR_CANTWRITE"));
    ErrorNames.insert(std::make_pair(1014, "ERROR_REGISTRY_RECOVERED"));
    ErrorNames.insert(std::make_pair(1015, "ERROR_REGISTRY_CORRUPT"));
    ErrorNames.insert(std::make_pair(1016, "ERROR_REGISTRY_IO_FAILED"));
    ErrorNames.insert(std::make_pair(1017, "ERROR_NOT_REGISTRY_FILE"));
    ErrorNames.insert(std::make_pair(1018, "ERROR_KEY_DELETED"));
    ErrorNames.insert(std::make_pair(1019, "ERROR_NO_LOG_SPACE"));
    ErrorNames.insert(std::make_pair(1020, "ERROR_KEY_HAS_CHILDREN"));
    ErrorNames.insert(std::make_pair(1021, "ERROR_CHILD_MUST_BE_VOLATILE"));
    ErrorNames.insert(std::make_pair(1022, "ERROR_NOTIFY_ENUM_DIR"));
    ErrorNames.insert(std::make_pair(1051, "ERROR_DEPENDENT_SERVICES_RUNNING"));
    ErrorNames.insert(std::make_pair(1052, "ERROR_INVALID_SERVICE_CONTROL"));
    ErrorNames.insert(std::make_pair(1053, "ERROR_SERVICE_REQUEST_TIMEOUT"));
    ErrorNames.insert(std::make_pair(1054, "ERROR_SERVICE_NO_THREAD"));
    ErrorNames.insert(std::make_pair(1055, "ERROR_SERVICE_DATABASE_LOCKED"));
    ErrorNames.insert(std::make_pair(1056, "ERROR_SERVICE_ALREADY_RUNNING"));
    ErrorNames.insert(std::make_pair(1057, "ERROR_INVALID_SERVICE_ACCOUNT"));
    ErrorNames.insert(std::make_pair(1058, "ERROR_SERVICE_DISABLED"));
    ErrorNames.insert(std::make_pair(1059, "ERROR_CIRCULAR_DEPENDENCY"));
    ErrorNames.insert(std::make_pair(1060, "ERROR_SERVICE_DOES_NOT_EXIST"));
    ErrorNames.insert(std::make_pair(1061, "ERROR_SERVICE_CANNOT_ACCEPT_CTRL"));
    ErrorNames.insert(std::make_pair(1062, "ERROR_SERVICE_NOT_ACTIVE"));
    ErrorNames.insert(std::make_pair(1063, "ERROR_FAILED_SERVICE_CONTROLLER_CONNECT"));
    ErrorNames.insert(std::make_pair(1064, "ERROR_EXCEPTION_IN_SERVICE"));
    ErrorNames.insert(std::make_pair(1065, "ERROR_DATABASE_DOES_NOT_EXIST"));
    ErrorNames.insert(std::make_pair(1066, "ERROR_SERVICE_SPECIFIC_ERROR"));
    ErrorNames.insert(std::make_pair(1067, "ERROR_PROCESS_ABORTED"));
    ErrorNames.insert(std::make_pair(1068, "ERROR_SERVICE_DEPENDENCY_FAIL"));
    ErrorNames.insert(std::make_pair(1069, "ERROR_SERVICE_LOGON_FAILED"));
    ErrorNames.insert(std::make_pair(1070, "ERROR_SERVICE_START_HANG"));
    ErrorNames.insert(std::make_pair(1071, "ERROR_INVALID_SERVICE_LOCK"));
    ErrorNames.insert(std::make_pair(1072, "ERROR_SERVICE_MARKED_FOR_DELETE"));
    ErrorNames.insert(std::make_pair(1073, "ERROR_SERVICE_EXISTS"));
    ErrorNames.insert(std::make_pair(1074, "ERROR_ALREADY_RUNNING_LKG"));
    ErrorNames.insert(std::make_pair(1075, "ERROR_SERVICE_DEPENDENCY_DELETED"));
    ErrorNames.insert(std::make_pair(1076, "ERROR_BOOT_ALREADY_ACCEPTED"));
    ErrorNames.insert(std::make_pair(1077, "ERROR_SERVICE_NEVER_STARTED"));
    ErrorNames.insert(std::make_pair(1078, "ERROR_DUPLICATE_SERVICE_NAME"));
    ErrorNames.insert(std::make_pair(1079, "ERROR_DIFFERENT_SERVICE_ACCOUNT"));
    ErrorNames.insert(std::make_pair(1080, "ERROR_CANNOT_DETECT_DRIVER_FAILURE"));
    ErrorNames.insert(std::make_pair(1081, "ERROR_CANNOT_DETECT_PROCESS_ABORT"));
    ErrorNames.insert(std::make_pair(1082, "ERROR_NO_RECOVERY_PROGRAM"));
    ErrorNames.insert(std::make_pair(1083, "ERROR_SERVICE_NOT_IN_EXE"));
    ErrorNames.insert(std::make_pair(1084, "ERROR_NOT_SAFEBOOT_SERVICE"));
    ErrorNames.insert(std::make_pair(1100, "ERROR_END_OF_MEDIA"));
    ErrorNames.insert(std::make_pair(1101, "ERROR_FILEMARK_DETECTED"));
    ErrorNames.insert(std::make_pair(1102, "ERROR_BEGINNING_OF_MEDIA"));
    ErrorNames.insert(std::make_pair(1103, "ERROR_SETMARK_DETECTED"));
    ErrorNames.insert(std::make_pair(1104, "ERROR_NO_DATA_DETECTED"));
    ErrorNames.insert(std::make_pair(1105, "ERROR_PARTITION_FAILURE"));
    ErrorNames.insert(std::make_pair(1106, "ERROR_INVALID_BLOCK_LENGTH"));
    ErrorNames.insert(std::make_pair(1107, "ERROR_DEVICE_NOT_PARTITIONED"));
    ErrorNames.insert(std::make_pair(1108, "ERROR_UNABLE_TO_LOCK_MEDIA"));
    ErrorNames.insert(std::make_pair(1109, "ERROR_UNABLE_TO_UNLOAD_MEDIA"));
    ErrorNames.insert(std::make_pair(1110, "ERROR_MEDIA_CHANGED"));
    ErrorNames.insert(std::make_pair(1111, "ERROR_BUS_RESET"));
    ErrorNames.insert(std::make_pair(1112, "ERROR_NO_MEDIA_IN_DRIVE"));
    ErrorNames.insert(std::make_pair(1113, "ERROR_NO_UNICODE_TRANSLATION"));
    ErrorNames.insert(std::make_pair(1114, "ERROR_DLL_INIT_FAILED"));
    ErrorNames.insert(std::make_pair(1115, "ERROR_SHUTDOWN_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(1116, "ERROR_NO_SHUTDOWN_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(1117, "ERROR_IO_DEVICE"));
    ErrorNames.insert(std::make_pair(1118, "ERROR_SERIAL_NO_DEVICE"));
    ErrorNames.insert(std::make_pair(1119, "ERROR_IRQ_BUSY"));
    ErrorNames.insert(std::make_pair(1120, "ERROR_MORE_WRITES"));
    ErrorNames.insert(std::make_pair(1121, "ERROR_COUNTER_TIMEOUT"));
    ErrorNames.insert(std::make_pair(1122, "ERROR_FLOPPY_ID_MARK_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1123, "ERROR_FLOPPY_WRONG_CYLINDER"));
    ErrorNames.insert(std::make_pair(1124, "ERROR_FLOPPY_UNKNOWN_ERROR"));
    ErrorNames.insert(std::make_pair(1125, "ERROR_FLOPPY_BAD_REGISTERS"));
    ErrorNames.insert(std::make_pair(1126, "ERROR_DISK_RECALIBRATE_FAILED"));
    ErrorNames.insert(std::make_pair(1127, "ERROR_DISK_OPERATION_FAILED"));
    ErrorNames.insert(std::make_pair(1128, "ERROR_DISK_RESET_FAILED"));
    ErrorNames.insert(std::make_pair(1129, "ERROR_EOM_OVERFLOW"));
    ErrorNames.insert(std::make_pair(1130, "ERROR_NOT_ENOUGH_SERVER_MEMORY"));
    ErrorNames.insert(std::make_pair(1131, "ERROR_POSSIBLE_DEADLOCK"));
    ErrorNames.insert(std::make_pair(1132, "ERROR_MAPPED_ALIGNMENT"));
    ErrorNames.insert(std::make_pair(1140, "ERROR_SET_POWER_STATE_VETOED"));
    ErrorNames.insert(std::make_pair(1141, "ERROR_SET_POWER_STATE_FAILED"));
    ErrorNames.insert(std::make_pair(1142, "ERROR_TOO_MANY_LINKS"));
    ErrorNames.insert(std::make_pair(1150, "ERROR_OLD_WIN_VERSION"));
    ErrorNames.insert(std::make_pair(1151, "ERROR_APP_WRONG_OS"));
    ErrorNames.insert(std::make_pair(1152, "ERROR_SINGLE_INSTANCE_APP"));
    ErrorNames.insert(std::make_pair(1153, "ERROR_RMODE_APP"));
    ErrorNames.insert(std::make_pair(1154, "ERROR_INVALID_DLL"));
    ErrorNames.insert(std::make_pair(1155, "ERROR_NO_ASSOCIATION"));
    ErrorNames.insert(std::make_pair(1156, "ERROR_DDE_FAIL"));
    ErrorNames.insert(std::make_pair(1157, "ERROR_DLL_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1158, "ERROR_NO_MORE_USER_HANDLES"));
    ErrorNames.insert(std::make_pair(1159, "ERROR_MESSAGE_SYNC_ONLY"));
    ErrorNames.insert(std::make_pair(1160, "ERROR_SOURCE_ELEMENT_EMPTY"));
    ErrorNames.insert(std::make_pair(1161, "ERROR_DESTINATION_ELEMENT_FULL"));
    ErrorNames.insert(std::make_pair(1162, "ERROR_ILLEGAL_ELEMENT_ADDRESS"));
    ErrorNames.insert(std::make_pair(1163, "ERROR_MAGAZINE_NOT_PRESENT"));
    ErrorNames.insert(std::make_pair(1164, "ERROR_DEVICE_REINITIALIZATION_NEEDED"));
    ErrorNames.insert(std::make_pair(1165, "ERROR_DEVICE_REQUIRES_CLEANING"));
    ErrorNames.insert(std::make_pair(1166, "ERROR_DEVICE_DOOR_OPEN"));
    ErrorNames.insert(std::make_pair(1167, "ERROR_DEVICE_NOT_CONNECTED"));
    ErrorNames.insert(std::make_pair(1168, "ERROR_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1169, "ERROR_NO_MATCH"));
    ErrorNames.insert(std::make_pair(1170, "ERROR_SET_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1171, "ERROR_POINT_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1172, "ERROR_NO_TRACKING_SERVICE"));
    ErrorNames.insert(std::make_pair(1173, "ERROR_NO_VOLUME_ID"));
    ErrorNames.insert(std::make_pair(1175, "ERROR_UNABLE_TO_REMOVE_REPLACED"));
    ErrorNames.insert(std::make_pair(1176, "ERROR_UNABLE_TO_MOVE_REPLACEMENT"));
    ErrorNames.insert(std::make_pair(1177, "ERROR_UNABLE_TO_MOVE_REPLACEMENT_2"));
    ErrorNames.insert(std::make_pair(1178, "ERROR_JOURNAL_DELETE_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(1179, "ERROR_JOURNAL_NOT_ACTIVE"));
    ErrorNames.insert(std::make_pair(1180, "ERROR_POTENTIAL_FILE_FOUND"));
    ErrorNames.insert(std::make_pair(1181, "ERROR_JOURNAL_ENTRY_DELETED"));
    ErrorNames.insert(std::make_pair(1190, "ERROR_SHUTDOWN_IS_SCHEDULED"));
    ErrorNames.insert(std::make_pair(1191, "ERROR_SHUTDOWN_USERS_LOGGED_ON"));
    ErrorNames.insert(std::make_pair(1200, "ERROR_BAD_DEVICE"));
    ErrorNames.insert(std::make_pair(1201, "ERROR_CONNECTION_UNAVAIL"));
    ErrorNames.insert(std::make_pair(1202, "ERROR_DEVICE_ALREADY_REMEMBERED"));
    ErrorNames.insert(std::make_pair(1203, "ERROR_NO_NET_OR_BAD_PATH"));
    ErrorNames.insert(std::make_pair(1204, "ERROR_BAD_PROVIDER"));
    ErrorNames.insert(std::make_pair(1205, "ERROR_CANNOT_OPEN_PROFILE"));
    ErrorNames.insert(std::make_pair(1206, "ERROR_BAD_PROFILE"));
    ErrorNames.insert(std::make_pair(1207, "ERROR_NOT_CONTAINER"));
    ErrorNames.insert(std::make_pair(1208, "ERROR_EXTENDED_ERROR"));
    ErrorNames.insert(std::make_pair(1209, "ERROR_INVALID_GROUPNAME"));
    ErrorNames.insert(std::make_pair(1210, "ERROR_INVALID_COMPUTERNAME"));
    ErrorNames.insert(std::make_pair(1211, "ERROR_INVALID_EVENTNAME"));
    ErrorNames.insert(std::make_pair(1212, "ERROR_INVALID_DOMAINNAME"));
    ErrorNames.insert(std::make_pair(1213, "ERROR_INVALID_SERVICENAME"));
    ErrorNames.insert(std::make_pair(1214, "ERROR_INVALID_NETNAME"));
    ErrorNames.insert(std::make_pair(1215, "ERROR_INVALID_SHARENAME"));
    ErrorNames.insert(std::make_pair(1216, "ERROR_INVALID_PASSWORDNAME"));
    ErrorNames.insert(std::make_pair(1217, "ERROR_INVALID_MESSAGENAME"));
    ErrorNames.insert(std::make_pair(1218, "ERROR_INVALID_MESSAGEDEST"));
    ErrorNames.insert(std::make_pair(1219, "ERROR_SESSION_CREDENTIAL_CONFLICT"));
    ErrorNames.insert(std::make_pair(1220, "ERROR_REMOTE_SESSION_LIMIT_EXCEEDED"));
    ErrorNames.insert(std::make_pair(1221, "ERROR_DUP_DOMAINNAME"));
    ErrorNames.insert(std::make_pair(1222, "ERROR_NO_NETWORK"));
    ErrorNames.insert(std::make_pair(1223, "ERROR_CANCELLED"));
    ErrorNames.insert(std::make_pair(1224, "ERROR_USER_MAPPED_FILE"));
    ErrorNames.insert(std::make_pair(1225, "ERROR_CONNECTION_REFUSED"));
    ErrorNames.insert(std::make_pair(1226, "ERROR_GRACEFUL_DISCONNECT"));
    ErrorNames.insert(std::make_pair(1227, "ERROR_ADDRESS_ALREADY_ASSOCIATED"));
    ErrorNames.insert(std::make_pair(1228, "ERROR_ADDRESS_NOT_ASSOCIATED"));
    ErrorNames.insert(std::make_pair(1229, "ERROR_CONNECTION_INVALID"));
    ErrorNames.insert(std::make_pair(1230, "ERROR_CONNECTION_ACTIVE"));
    ErrorNames.insert(std::make_pair(1231, "ERROR_NETWORK_UNREACHABLE"));
    ErrorNames.insert(std::make_pair(1232, "ERROR_HOST_UNREACHABLE"));
    ErrorNames.insert(std::make_pair(1233, "ERROR_PROTOCOL_UNREACHABLE"));
    ErrorNames.insert(std::make_pair(1234, "ERROR_PORT_UNREACHABLE"));
    ErrorNames.insert(std::make_pair(1235, "ERROR_REQUEST_ABORTED"));
    ErrorNames.insert(std::make_pair(1236, "ERROR_CONNECTION_ABORTED"));
    ErrorNames.insert(std::make_pair(1237, "ERROR_RETRY"));
    ErrorNames.insert(std::make_pair(1238, "ERROR_CONNECTION_COUNT_LIMIT"));
    ErrorNames.insert(std::make_pair(1239, "ERROR_LOGIN_TIME_RESTRICTION"));
    ErrorNames.insert(std::make_pair(1240, "ERROR_LOGIN_WKSTA_RESTRICTION"));
    ErrorNames.insert(std::make_pair(1241, "ERROR_INCORRECT_ADDRESS"));
    ErrorNames.insert(std::make_pair(1242, "ERROR_ALREADY_REGISTERED"));
    ErrorNames.insert(std::make_pair(1243, "ERROR_SERVICE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1244, "ERROR_NOT_AUTHENTICATED"));
    ErrorNames.insert(std::make_pair(1245, "ERROR_NOT_LOGGED_ON"));
    ErrorNames.insert(std::make_pair(1246, "ERROR_CONTINUE"));
    ErrorNames.insert(std::make_pair(1247, "ERROR_ALREADY_INITIALIZED"));
    ErrorNames.insert(std::make_pair(1248, "ERROR_NO_MORE_DEVICES"));
    ErrorNames.insert(std::make_pair(1249, "ERROR_NO_SUCH_SITE"));
    ErrorNames.insert(std::make_pair(1250, "ERROR_DOMAIN_CONTROLLER_EXISTS"));
    ErrorNames.insert(std::make_pair(1251, "ERROR_ONLY_IF_CONNECTED"));
    ErrorNames.insert(std::make_pair(1252, "ERROR_OVERRIDE_NOCHANGES"));
    ErrorNames.insert(std::make_pair(1253, "ERROR_BAD_USER_PROFILE"));
    ErrorNames.insert(std::make_pair(1254, "ERROR_NOT_SUPPORTED_ON_SBS"));
    ErrorNames.insert(std::make_pair(1255, "ERROR_SERVER_SHUTDOWN_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(1256, "ERROR_HOST_DOWN"));
    ErrorNames.insert(std::make_pair(1257, "ERROR_NON_ACCOUNT_SID"));
    ErrorNames.insert(std::make_pair(1258, "ERROR_NON_DOMAIN_SID"));
    ErrorNames.insert(std::make_pair(1259, "ERROR_APPHELP_BLOCK"));
    ErrorNames.insert(std::make_pair(1260, "ERROR_ACCESS_DISABLED_BY_POLICY"));
    ErrorNames.insert(std::make_pair(1261, "ERROR_REG_NAT_CONSUMPTION"));
    ErrorNames.insert(std::make_pair(1262, "ERROR_CSCSHARE_OFFLINE"));
    ErrorNames.insert(std::make_pair(1263, "ERROR_PKINIT_FAILURE"));
    ErrorNames.insert(std::make_pair(1264, "ERROR_SMARTCARD_SUBSYSTEM_FAILURE"));
    ErrorNames.insert(std::make_pair(1265, "ERROR_DOWNGRADE_DETECTED"));
    ErrorNames.insert(std::make_pair(1271, "ERROR_MACHINE_LOCKED"));
    ErrorNames.insert(std::make_pair(1273, "ERROR_CALLBACK_SUPPLIED_INVALID_DATA"));
    ErrorNames.insert(std::make_pair(1274, "ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED"));
    ErrorNames.insert(std::make_pair(1275, "ERROR_DRIVER_BLOCKED"));
    ErrorNames.insert(std::make_pair(1276, "ERROR_INVALID_IMPORT_OF_NON_DLL"));
    ErrorNames.insert(std::make_pair(1277, "ERROR_ACCESS_DISABLED_WEBBLADE"));
    ErrorNames.insert(std::make_pair(1278, "ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER"));
    ErrorNames.insert(std::make_pair(1279, "ERROR_RECOVERY_FAILURE"));
    ErrorNames.insert(std::make_pair(1280, "ERROR_ALREADY_FIBER"));
    ErrorNames.insert(std::make_pair(1281, "ERROR_ALREADY_THREAD"));
    ErrorNames.insert(std::make_pair(1282, "ERROR_STACK_BUFFER_OVERRUN"));
    ErrorNames.insert(std::make_pair(1283, "ERROR_PARAMETER_QUOTA_EXCEEDED"));
    ErrorNames.insert(std::make_pair(1284, "ERROR_DEBUGGER_INACTIVE"));
    ErrorNames.insert(std::make_pair(1285, "ERROR_DELAY_LOAD_FAILED"));
    ErrorNames.insert(std::make_pair(1286, "ERROR_VDM_DISALLOWED"));
    ErrorNames.insert(std::make_pair(1287, "ERROR_UNIDENTIFIED_ERROR"));
    ErrorNames.insert(std::make_pair(1288, "ERROR_INVALID_CRUNTIME_PARAMETER"));
    ErrorNames.insert(std::make_pair(1289, "ERROR_BEYOND_VDL"));
    ErrorNames.insert(std::make_pair(1290, "ERROR_INCOMPATIBLE_SERVICE_SID_TYPE"));
    ErrorNames.insert(std::make_pair(1291, "ERROR_DRIVER_PROCESS_TERMINATED"));
    ErrorNames.insert(std::make_pair(1292, "ERROR_IMPLEMENTATION_LIMIT"));
    ErrorNames.insert(std::make_pair(1293, "ERROR_PROCESS_IS_PROTECTED"));
    ErrorNames.insert(std::make_pair(1294, "ERROR_SERVICE_NOTIFY_CLIENT_LAGGING"));
    ErrorNames.insert(std::make_pair(1295, "ERROR_DISK_QUOTA_EXCEEDED"));
    ErrorNames.insert(std::make_pair(1296, "ERROR_CONTENT_BLOCKED"));
    ErrorNames.insert(std::make_pair(1297, "ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE"));
    ErrorNames.insert(std::make_pair(1298, "ERROR_APP_HANG"));
    ErrorNames.insert(std::make_pair(1299, "ERROR_INVALID_LABEL"));
    ErrorNames.insert(std::make_pair(1300, "ERROR_NOT_ALL_ASSIGNED"));
    ErrorNames.insert(std::make_pair(1301, "ERROR_SOME_NOT_MAPPED"));
    ErrorNames.insert(std::make_pair(1302, "ERROR_NO_QUOTAS_FOR_ACCOUNT"));
    ErrorNames.insert(std::make_pair(1303, "ERROR_LOCAL_USER_SESSION_KEY"));
    ErrorNames.insert(std::make_pair(1304, "ERROR_NULL_LM_PASSWORD"));
    ErrorNames.insert(std::make_pair(1305, "ERROR_UNKNOWN_REVISION"));
    ErrorNames.insert(std::make_pair(1306, "ERROR_REVISION_MISMATCH"));
    ErrorNames.insert(std::make_pair(1307, "ERROR_INVALID_OWNER"));
    ErrorNames.insert(std::make_pair(1308, "ERROR_INVALID_PRIMARY_GROUP"));
    ErrorNames.insert(std::make_pair(1309, "ERROR_NO_IMPERSONATION_TOKEN"));
    ErrorNames.insert(std::make_pair(1310, "ERROR_CANT_DISABLE_MANDATORY"));
    ErrorNames.insert(std::make_pair(1311, "ERROR_NO_LOGON_SERVERS"));
    ErrorNames.insert(std::make_pair(1312, "ERROR_NO_SUCH_LOGON_SESSION"));
    ErrorNames.insert(std::make_pair(1313, "ERROR_NO_SUCH_PRIVILEGE"));
    ErrorNames.insert(std::make_pair(1314, "ERROR_PRIVILEGE_NOT_HELD"));
    ErrorNames.insert(std::make_pair(1315, "ERROR_INVALID_ACCOUNT_NAME"));
    ErrorNames.insert(std::make_pair(1316, "ERROR_USER_EXISTS"));
    ErrorNames.insert(std::make_pair(1317, "ERROR_NO_SUCH_USER"));
    ErrorNames.insert(std::make_pair(1318, "ERROR_GROUP_EXISTS"));
    ErrorNames.insert(std::make_pair(1319, "ERROR_NO_SUCH_GROUP"));
    ErrorNames.insert(std::make_pair(1320, "ERROR_MEMBER_IN_GROUP"));
    ErrorNames.insert(std::make_pair(1321, "ERROR_MEMBER_NOT_IN_GROUP"));
    ErrorNames.insert(std::make_pair(1322, "ERROR_LAST_ADMIN"));
    ErrorNames.insert(std::make_pair(1323, "ERROR_WRONG_PASSWORD"));
    ErrorNames.insert(std::make_pair(1324, "ERROR_ILL_FORMED_PASSWORD"));
    ErrorNames.insert(std::make_pair(1325, "ERROR_PASSWORD_RESTRICTION"));
    ErrorNames.insert(std::make_pair(1326, "ERROR_LOGON_FAILURE"));
    ErrorNames.insert(std::make_pair(1327, "ERROR_ACCOUNT_RESTRICTION"));
    ErrorNames.insert(std::make_pair(1328, "ERROR_INVALID_LOGON_HOURS"));
    ErrorNames.insert(std::make_pair(1329, "ERROR_INVALID_WORKSTATION"));
    ErrorNames.insert(std::make_pair(1330, "ERROR_PASSWORD_EXPIRED"));
    ErrorNames.insert(std::make_pair(1331, "ERROR_ACCOUNT_DISABLED"));
    ErrorNames.insert(std::make_pair(1332, "ERROR_NONE_MAPPED"));
    ErrorNames.insert(std::make_pair(1333, "ERROR_TOO_MANY_LUIDS_REQUESTED"));
    ErrorNames.insert(std::make_pair(1334, "ERROR_LUIDS_EXHAUSTED"));
    ErrorNames.insert(std::make_pair(1335, "ERROR_INVALID_SUB_AUTHORITY"));
    ErrorNames.insert(std::make_pair(1336, "ERROR_INVALID_ACL"));
    ErrorNames.insert(std::make_pair(1337, "ERROR_INVALID_SID"));
    ErrorNames.insert(std::make_pair(1338, "ERROR_INVALID_SECURITY_DESCR"));
    ErrorNames.insert(std::make_pair(1340, "ERROR_BAD_INHERITANCE_ACL"));
    ErrorNames.insert(std::make_pair(1341, "ERROR_SERVER_DISABLED"));
    ErrorNames.insert(std::make_pair(1342, "ERROR_SERVER_NOT_DISABLED"));
    ErrorNames.insert(std::make_pair(1343, "ERROR_INVALID_ID_AUTHORITY"));
    ErrorNames.insert(std::make_pair(1344, "ERROR_ALLOTTED_SPACE_EXCEEDED"));
    ErrorNames.insert(std::make_pair(1345, "ERROR_INVALID_GROUP_ATTRIBUTES"));
    ErrorNames.insert(std::make_pair(1346, "ERROR_BAD_IMPERSONATION_LEVEL"));
    ErrorNames.insert(std::make_pair(1347, "ERROR_CANT_OPEN_ANONYMOUS"));
    ErrorNames.insert(std::make_pair(1348, "ERROR_BAD_VALIDATION_CLASS"));
    ErrorNames.insert(std::make_pair(1349, "ERROR_BAD_TOKEN_TYPE"));
    ErrorNames.insert(std::make_pair(1350, "ERROR_NO_SECURITY_ON_OBJECT"));
    ErrorNames.insert(std::make_pair(1351, "ERROR_CANT_ACCESS_DOMAIN_INFO"));
    ErrorNames.insert(std::make_pair(1352, "ERROR_INVALID_SERVER_STATE"));
    ErrorNames.insert(std::make_pair(1353, "ERROR_INVALID_DOMAIN_STATE"));
    ErrorNames.insert(std::make_pair(1354, "ERROR_INVALID_DOMAIN_ROLE"));
    ErrorNames.insert(std::make_pair(1355, "ERROR_NO_SUCH_DOMAIN"));
    ErrorNames.insert(std::make_pair(1356, "ERROR_DOMAIN_EXISTS"));
    ErrorNames.insert(std::make_pair(1357, "ERROR_DOMAIN_LIMIT_EXCEEDED"));
    ErrorNames.insert(std::make_pair(1358, "ERROR_INTERNAL_DB_CORRUPTION"));
    ErrorNames.insert(std::make_pair(1359, "ERROR_INTERNAL_ERROR"));
    ErrorNames.insert(std::make_pair(1360, "ERROR_GENERIC_NOT_MAPPED"));
    ErrorNames.insert(std::make_pair(1361, "ERROR_BAD_DESCRIPTOR_FORMAT"));
    ErrorNames.insert(std::make_pair(1362, "ERROR_NOT_LOGON_PROCESS"));
    ErrorNames.insert(std::make_pair(1363, "ERROR_LOGON_SESSION_EXISTS"));
    ErrorNames.insert(std::make_pair(1364, "ERROR_NO_SUCH_PACKAGE"));
    ErrorNames.insert(std::make_pair(1365, "ERROR_BAD_LOGON_SESSION_STATE"));
    ErrorNames.insert(std::make_pair(1366, "ERROR_LOGON_SESSION_COLLISION"));
    ErrorNames.insert(std::make_pair(1367, "ERROR_INVALID_LOGON_TYPE"));
    ErrorNames.insert(std::make_pair(1368, "ERROR_CANNOT_IMPERSONATE"));
    ErrorNames.insert(std::make_pair(1369, "ERROR_RXACT_INVALID_STATE"));
    ErrorNames.insert(std::make_pair(1370, "ERROR_RXACT_COMMIT_FAILURE"));
    ErrorNames.insert(std::make_pair(1371, "ERROR_SPECIAL_ACCOUNT"));
    ErrorNames.insert(std::make_pair(1372, "ERROR_SPECIAL_GROUP"));
    ErrorNames.insert(std::make_pair(1373, "ERROR_SPECIAL_USER"));
    ErrorNames.insert(std::make_pair(1374, "ERROR_MEMBERS_PRIMARY_GROUP"));
    ErrorNames.insert(std::make_pair(1375, "ERROR_TOKEN_ALREADY_IN_USE"));
    ErrorNames.insert(std::make_pair(1376, "ERROR_NO_SUCH_ALIAS"));
    ErrorNames.insert(std::make_pair(1377, "ERROR_MEMBER_NOT_IN_ALIAS"));
    ErrorNames.insert(std::make_pair(1378, "ERROR_MEMBER_IN_ALIAS"));
    ErrorNames.insert(std::make_pair(1379, "ERROR_ALIAS_EXISTS"));
    ErrorNames.insert(std::make_pair(1380, "ERROR_LOGON_NOT_GRANTED"));
    ErrorNames.insert(std::make_pair(1381, "ERROR_TOO_MANY_SECRETS"));
    ErrorNames.insert(std::make_pair(1382, "ERROR_SECRET_TOO_LONG"));
    ErrorNames.insert(std::make_pair(1383, "ERROR_INTERNAL_DB_ERROR"));
    ErrorNames.insert(std::make_pair(1384, "ERROR_TOO_MANY_CONTEXT_IDS"));
    ErrorNames.insert(std::make_pair(1385, "ERROR_LOGON_TYPE_NOT_GRANTED"));
    ErrorNames.insert(std::make_pair(1386, "ERROR_NT_CROSS_ENCRYPTION_REQUIRED"));
    ErrorNames.insert(std::make_pair(1387, "ERROR_NO_SUCH_MEMBER"));
    ErrorNames.insert(std::make_pair(1388, "ERROR_INVALID_MEMBER"));
    ErrorNames.insert(std::make_pair(1389, "ERROR_TOO_MANY_SIDS"));
    ErrorNames.insert(std::make_pair(1390, "ERROR_LM_CROSS_ENCRYPTION_REQUIRED"));
    ErrorNames.insert(std::make_pair(1391, "ERROR_NO_INHERITANCE"));
    ErrorNames.insert(std::make_pair(1392, "ERROR_FILE_CORRUPT"));
    ErrorNames.insert(std::make_pair(1393, "ERROR_DISK_CORRUPT"));
    ErrorNames.insert(std::make_pair(1394, "ERROR_NO_USER_SESSION_KEY"));
    ErrorNames.insert(std::make_pair(1395, "ERROR_LICENSE_QUOTA_EXCEEDED"));
    ErrorNames.insert(std::make_pair(1396, "ERROR_WRONG_TARGET_NAME"));
    ErrorNames.insert(std::make_pair(1397, "ERROR_MUTUAL_AUTH_FAILED"));
    ErrorNames.insert(std::make_pair(1398, "ERROR_TIME_SKEW"));
    ErrorNames.insert(std::make_pair(1399, "ERROR_CURRENT_DOMAIN_NOT_ALLOWED"));
    ErrorNames.insert(std::make_pair(1400, "ERROR_INVALID_WINDOW_HANDLE"));
    ErrorNames.insert(std::make_pair(1401, "ERROR_INVALID_MENU_HANDLE"));
    ErrorNames.insert(std::make_pair(1402, "ERROR_INVALID_CURSOR_HANDLE"));
    ErrorNames.insert(std::make_pair(1403, "ERROR_INVALID_ACCEL_HANDLE"));
    ErrorNames.insert(std::make_pair(1404, "ERROR_INVALID_HOOK_HANDLE"));
    ErrorNames.insert(std::make_pair(1405, "ERROR_INVALID_DWP_HANDLE"));
    ErrorNames.insert(std::make_pair(1406, "ERROR_TLW_WITH_WSCHILD"));
    ErrorNames.insert(std::make_pair(1407, "ERROR_CANNOT_FIND_WND_CLASS"));
    ErrorNames.insert(std::make_pair(1408, "ERROR_WINDOW_OF_OTHER_THREAD"));
    ErrorNames.insert(std::make_pair(1409, "ERROR_HOTKEY_ALREADY_REGISTERED"));
    ErrorNames.insert(std::make_pair(1410, "ERROR_CLASS_ALREADY_EXISTS"));
    ErrorNames.insert(std::make_pair(1411, "ERROR_CLASS_DOES_NOT_EXIST"));
    ErrorNames.insert(std::make_pair(1412, "ERROR_CLASS_HAS_WINDOWS"));
    ErrorNames.insert(std::make_pair(1413, "ERROR_INVALID_INDEX"));
    ErrorNames.insert(std::make_pair(1414, "ERROR_INVALID_ICON_HANDLE"));
    ErrorNames.insert(std::make_pair(1415, "ERROR_PRIVATE_DIALOG_INDEX"));
    ErrorNames.insert(std::make_pair(1416, "ERROR_LISTBOX_ID_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1417, "ERROR_NO_WILDCARD_CHARACTERS"));
    ErrorNames.insert(std::make_pair(1418, "ERROR_CLIPBOARD_NOT_OPEN"));
    ErrorNames.insert(std::make_pair(1419, "ERROR_HOTKEY_NOT_REGISTERED"));
    ErrorNames.insert(std::make_pair(1420, "ERROR_WINDOW_NOT_DIALOG"));
    ErrorNames.insert(std::make_pair(1421, "ERROR_CONTROL_ID_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1422, "ERROR_INVALID_COMBOBOX_MESSAGE"));
    ErrorNames.insert(std::make_pair(1423, "ERROR_WINDOW_NOT_COMBOBOX"));
    ErrorNames.insert(std::make_pair(1424, "ERROR_INVALID_EDIT_HEIGHT"));
    ErrorNames.insert(std::make_pair(1425, "ERROR_DC_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1426, "ERROR_INVALID_HOOK_FILTER"));
    ErrorNames.insert(std::make_pair(1427, "ERROR_INVALID_FILTER_PROC"));
    ErrorNames.insert(std::make_pair(1428, "ERROR_HOOK_NEEDS_HMOD"));
    ErrorNames.insert(std::make_pair(1429, "ERROR_GLOBAL_ONLY_HOOK"));
    ErrorNames.insert(std::make_pair(1430, "ERROR_JOURNAL_HOOK_SET"));
    ErrorNames.insert(std::make_pair(1431, "ERROR_HOOK_NOT_INSTALLED"));
    ErrorNames.insert(std::make_pair(1432, "ERROR_INVALID_LB_MESSAGE"));
    ErrorNames.insert(std::make_pair(1433, "ERROR_SETCOUNT_ON_BAD_LB"));
    ErrorNames.insert(std::make_pair(1434, "ERROR_LB_WITHOUT_TABSTOPS"));
    ErrorNames.insert(std::make_pair(1435, "ERROR_DESTROY_OBJECT_OF_OTHER_THREAD"));
    ErrorNames.insert(std::make_pair(1436, "ERROR_CHILD_WINDOW_MENU"));
    ErrorNames.insert(std::make_pair(1437, "ERROR_NO_SYSTEM_MENU"));
    ErrorNames.insert(std::make_pair(1438, "ERROR_INVALID_MSGBOX_STYLE"));
    ErrorNames.insert(std::make_pair(1439, "ERROR_INVALID_SPI_VALUE"));
    ErrorNames.insert(std::make_pair(1440, "ERROR_SCREEN_ALREADY_LOCKED"));
    ErrorNames.insert(std::make_pair(1441, "ERROR_HWNDS_HAVE_DIFF_PARENT"));
    ErrorNames.insert(std::make_pair(1442, "ERROR_NOT_CHILD_WINDOW"));
    ErrorNames.insert(std::make_pair(1443, "ERROR_INVALID_GW_COMMAND"));
    ErrorNames.insert(std::make_pair(1444, "ERROR_INVALID_THREAD_ID"));
    ErrorNames.insert(std::make_pair(1445, "ERROR_NON_MDICHILD_WINDOW"));
    ErrorNames.insert(std::make_pair(1446, "ERROR_POPUP_ALREADY_ACTIVE"));
    ErrorNames.insert(std::make_pair(1447, "ERROR_NO_SCROLLBARS"));
    ErrorNames.insert(std::make_pair(1448, "ERROR_INVALID_SCROLLBAR_RANGE"));
    ErrorNames.insert(std::make_pair(1449, "ERROR_INVALID_SHOWWIN_COMMAND"));
    ErrorNames.insert(std::make_pair(1450, "ERROR_NO_SYSTEM_RESOURCES"));
    ErrorNames.insert(std::make_pair(1451, "ERROR_NONPAGED_SYSTEM_RESOURCES"));
    ErrorNames.insert(std::make_pair(1452, "ERROR_PAGED_SYSTEM_RESOURCES"));
    ErrorNames.insert(std::make_pair(1453, "ERROR_WORKING_SET_QUOTA"));
    ErrorNames.insert(std::make_pair(1454, "ERROR_PAGEFILE_QUOTA"));
    ErrorNames.insert(std::make_pair(1455, "ERROR_COMMITMENT_LIMIT"));
    ErrorNames.insert(std::make_pair(1456, "ERROR_MENU_ITEM_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1457, "ERROR_INVALID_KEYBOARD_HANDLE"));
    ErrorNames.insert(std::make_pair(1458, "ERROR_HOOK_TYPE_NOT_ALLOWED"));
    ErrorNames.insert(std::make_pair(1459, "ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION"));
    ErrorNames.insert(std::make_pair(1460, "ERROR_TIMEOUT"));
    ErrorNames.insert(std::make_pair(1461, "ERROR_INVALID_MONITOR_HANDLE"));
    ErrorNames.insert(std::make_pair(1462, "ERROR_INCORRECT_SIZE"));
    ErrorNames.insert(std::make_pair(1463, "ERROR_SYMLINK_CLASS_DISABLED"));
    ErrorNames.insert(std::make_pair(1464, "ERROR_SYMLINK_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(1465, "ERROR_XML_PARSE_ERROR"));
    ErrorNames.insert(std::make_pair(1466, "ERROR_XMLDSIG_ERROR"));
    ErrorNames.insert(std::make_pair(1467, "ERROR_RESTART_APPLICATION"));
    ErrorNames.insert(std::make_pair(1468, "ERROR_WRONG_COMPARTMENT"));
    ErrorNames.insert(std::make_pair(1469, "ERROR_AUTHIP_FAILURE"));
    ErrorNames.insert(std::make_pair(1470, "ERROR_NO_NVRAM_RESOURCES"));
    ErrorNames.insert(std::make_pair(1500, "ERROR_EVENTLOG_FILE_CORRUPT"));
    ErrorNames.insert(std::make_pair(1501, "ERROR_EVENTLOG_CANT_START"));
    ErrorNames.insert(std::make_pair(1502, "ERROR_LOG_FILE_FULL"));
    ErrorNames.insert(std::make_pair(1503, "ERROR_EVENTLOG_FILE_CHANGED"));
    ErrorNames.insert(std::make_pair(1550, "ERROR_INVALID_TASK_NAME"));
    ErrorNames.insert(std::make_pair(1551, "ERROR_INVALID_TASK_INDEX"));
    ErrorNames.insert(std::make_pair(1552, "ERROR_THREAD_ALREADY_IN_TASK"));
    ErrorNames.insert(std::make_pair(1601, "ERROR_INSTALL_SERVICE_FAILURE"));
    ErrorNames.insert(std::make_pair(1602, "ERROR_INSTALL_USEREXIT"));
    ErrorNames.insert(std::make_pair(1603, "ERROR_INSTALL_FAILURE"));
    ErrorNames.insert(std::make_pair(1604, "ERROR_INSTALL_SUSPEND"));
    ErrorNames.insert(std::make_pair(1605, "ERROR_UNKNOWN_PRODUCT"));
    ErrorNames.insert(std::make_pair(1606, "ERROR_UNKNOWN_FEATURE"));
    ErrorNames.insert(std::make_pair(1607, "ERROR_UNKNOWN_COMPONENT"));
    ErrorNames.insert(std::make_pair(1608, "ERROR_UNKNOWN_PROPERTY"));
    ErrorNames.insert(std::make_pair(1609, "ERROR_INVALID_HANDLE_STATE"));
    ErrorNames.insert(std::make_pair(1610, "ERROR_BAD_CONFIGURATION"));
    ErrorNames.insert(std::make_pair(1611, "ERROR_INDEX_ABSENT"));
    ErrorNames.insert(std::make_pair(1612, "ERROR_INSTALL_SOURCE_ABSENT"));
    ErrorNames.insert(std::make_pair(1613, "ERROR_INSTALL_PACKAGE_VERSION"));
    ErrorNames.insert(std::make_pair(1614, "ERROR_PRODUCT_UNINSTALLED"));
    ErrorNames.insert(std::make_pair(1615, "ERROR_BAD_QUERY_SYNTAX"));
    ErrorNames.insert(std::make_pair(1616, "ERROR_INVALID_FIELD"));
    ErrorNames.insert(std::make_pair(1617, "ERROR_DEVICE_REMOVED"));
    ErrorNames.insert(std::make_pair(1618, "ERROR_INSTALL_ALREADY_RUNNING"));
    ErrorNames.insert(std::make_pair(1619, "ERROR_INSTALL_PACKAGE_OPEN_FAILED"));
    ErrorNames.insert(std::make_pair(1620, "ERROR_INSTALL_PACKAGE_INVALID"));
    ErrorNames.insert(std::make_pair(1621, "ERROR_INSTALL_UI_FAILURE"));
    ErrorNames.insert(std::make_pair(1622, "ERROR_INSTALL_LOG_FAILURE"));
    ErrorNames.insert(std::make_pair(1623, "ERROR_INSTALL_LANGUAGE_UNSUPPORTED"));
    ErrorNames.insert(std::make_pair(1624, "ERROR_INSTALL_TRANSFORM_FAILURE"));
    ErrorNames.insert(std::make_pair(1625, "ERROR_INSTALL_PACKAGE_REJECTED"));
    ErrorNames.insert(std::make_pair(1626, "ERROR_FUNCTION_NOT_CALLED"));
    ErrorNames.insert(std::make_pair(1627, "ERROR_FUNCTION_FAILED"));
    ErrorNames.insert(std::make_pair(1628, "ERROR_INVALID_TABLE"));
    ErrorNames.insert(std::make_pair(1629, "ERROR_DATATYPE_MISMATCH"));
    ErrorNames.insert(std::make_pair(1630, "ERROR_UNSUPPORTED_TYPE"));
    ErrorNames.insert(std::make_pair(1631, "ERROR_CREATE_FAILED"));
    ErrorNames.insert(std::make_pair(1632, "ERROR_INSTALL_TEMP_UNWRITABLE"));
    ErrorNames.insert(std::make_pair(1633, "ERROR_INSTALL_PLATFORM_UNSUPPORTED"));
    ErrorNames.insert(std::make_pair(1634, "ERROR_INSTALL_NOTUSED"));
    ErrorNames.insert(std::make_pair(1635, "ERROR_PATCH_PACKAGE_OPEN_FAILED"));
    ErrorNames.insert(std::make_pair(1636, "ERROR_PATCH_PACKAGE_INVALID"));
    ErrorNames.insert(std::make_pair(1637, "ERROR_PATCH_PACKAGE_UNSUPPORTED"));
    ErrorNames.insert(std::make_pair(1638, "ERROR_PRODUCT_VERSION"));
    ErrorNames.insert(std::make_pair(1639, "ERROR_INVALID_COMMAND_LINE"));
    ErrorNames.insert(std::make_pair(1640, "ERROR_INSTALL_REMOTE_DISALLOWED"));
    ErrorNames.insert(std::make_pair(1641, "ERROR_SUCCESS_REBOOT_INITIATED"));
    ErrorNames.insert(std::make_pair(1642, "ERROR_PATCH_TARGET_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1643, "ERROR_PATCH_PACKAGE_REJECTED"));
    ErrorNames.insert(std::make_pair(1644, "ERROR_INSTALL_TRANSFORM_REJECTED"));
    ErrorNames.insert(std::make_pair(1645, "ERROR_INSTALL_REMOTE_PROHIBITED"));
    ErrorNames.insert(std::make_pair(1646, "ERROR_PATCH_REMOVAL_UNSUPPORTED"));
    ErrorNames.insert(std::make_pair(1647, "ERROR_UNKNOWN_PATCH"));
    ErrorNames.insert(std::make_pair(1648, "ERROR_PATCH_NO_SEQUENCE"));
    ErrorNames.insert(std::make_pair(1649, "ERROR_PATCH_REMOVAL_DISALLOWED"));
    ErrorNames.insert(std::make_pair(1650, "ERROR_INVALID_PATCH_XML"));
    ErrorNames.insert(std::make_pair(1651, "ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT"));
    ErrorNames.insert(std::make_pair(1652, "ERROR_INSTALL_SERVICE_SAFEBOOT"));
    ErrorNames.insert(std::make_pair(1653, "ERROR_FAIL_FAST_EXCEPTION"));
    ErrorNames.insert(std::make_pair(1784, "ERROR_INVALID_USER_BUFFER"));
    ErrorNames.insert(std::make_pair(1785, "ERROR_UNRECOGNIZED_MEDIA"));
    ErrorNames.insert(std::make_pair(1786, "ERROR_NO_TRUST_LSA_SECRET"));
    ErrorNames.insert(std::make_pair(1787, "ERROR_NO_TRUST_SAM_ACCOUNT"));
    ErrorNames.insert(std::make_pair(1788, "ERROR_TRUSTED_DOMAIN_FAILURE"));
    ErrorNames.insert(std::make_pair(1789, "ERROR_TRUSTED_RELATIONSHIP_FAILURE"));
    ErrorNames.insert(std::make_pair(1790, "ERROR_TRUST_FAILURE"));
    ErrorNames.insert(std::make_pair(1792, "ERROR_NETLOGON_NOT_STARTED"));
    ErrorNames.insert(std::make_pair(1793, "ERROR_ACCOUNT_EXPIRED"));
    ErrorNames.insert(std::make_pair(1794, "ERROR_REDIRECTOR_HAS_OPEN_HANDLES"));
    ErrorNames.insert(std::make_pair(1795, "ERROR_PRINTER_DRIVER_ALREADY_INSTALLED"));
    ErrorNames.insert(std::make_pair(1796, "ERROR_UNKNOWN_PORT"));
    ErrorNames.insert(std::make_pair(1797, "ERROR_UNKNOWN_PRINTER_DRIVER"));
    ErrorNames.insert(std::make_pair(1798, "ERROR_UNKNOWN_PRINTPROCESSOR"));
    ErrorNames.insert(std::make_pair(1799, "ERROR_INVALID_SEPARATOR_FILE"));
    ErrorNames.insert(std::make_pair(1800, "ERROR_INVALID_PRIORITY"));
    ErrorNames.insert(std::make_pair(1801, "ERROR_INVALID_PRINTER_NAME"));
    ErrorNames.insert(std::make_pair(1802, "ERROR_PRINTER_ALREADY_EXISTS"));
    ErrorNames.insert(std::make_pair(1803, "ERROR_INVALID_PRINTER_COMMAND"));
    ErrorNames.insert(std::make_pair(1804, "ERROR_INVALID_DATATYPE"));
    ErrorNames.insert(std::make_pair(1805, "ERROR_INVALID_ENVIRONMENT"));
    ErrorNames.insert(std::make_pair(1807, "ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT"));
    ErrorNames.insert(std::make_pair(1808, "ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT"));
    ErrorNames.insert(std::make_pair(1809, "ERROR_NOLOGON_SERVER_TRUST_ACCOUNT"));
    ErrorNames.insert(std::make_pair(1810, "ERROR_DOMAIN_TRUST_INCONSISTENT"));
    ErrorNames.insert(std::make_pair(1811, "ERROR_SERVER_HAS_OPEN_HANDLES"));
    ErrorNames.insert(std::make_pair(1812, "ERROR_RESOURCE_DATA_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1813, "ERROR_RESOURCE_TYPE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1814, "ERROR_RESOURCE_NAME_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1815, "ERROR_RESOURCE_LANG_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1816, "ERROR_NOT_ENOUGH_QUOTA"));
    ErrorNames.insert(std::make_pair(1901, "ERROR_INVALID_TIME"));
    ErrorNames.insert(std::make_pair(1902, "ERROR_INVALID_FORM_NAME"));
    ErrorNames.insert(std::make_pair(1903, "ERROR_INVALID_FORM_SIZE"));
    ErrorNames.insert(std::make_pair(1904, "ERROR_ALREADY_WAITING"));
    ErrorNames.insert(std::make_pair(1905, "ERROR_PRINTER_DELETED"));
    ErrorNames.insert(std::make_pair(1906, "ERROR_INVALID_PRINTER_STATE"));
    ErrorNames.insert(std::make_pair(1907, "ERROR_PASSWORD_MUST_CHANGE"));
    ErrorNames.insert(std::make_pair(1908, "ERROR_DOMAIN_CONTROLLER_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(1909, "ERROR_ACCOUNT_LOCKED_OUT"));
    ErrorNames.insert(std::make_pair(1919, "ERROR_NO_SITENAME"));
    ErrorNames.insert(std::make_pair(1920, "ERROR_CANT_ACCESS_FILE"));
    ErrorNames.insert(std::make_pair(1921, "ERROR_CANT_RESOLVE_FILENAME"));
    ErrorNames.insert(std::make_pair(1930, "ERROR_KM_DRIVER_BLOCKED"));
    ErrorNames.insert(std::make_pair(1931, "ERROR_CONTEXT_EXPIRED"));
    ErrorNames.insert(std::make_pair(1932, "ERROR_PER_USER_TRUST_QUOTA_EXCEEDED"));
    ErrorNames.insert(std::make_pair(1933, "ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED"));
    ErrorNames.insert(std::make_pair(1934, "ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED"));
    ErrorNames.insert(std::make_pair(1935, "ERROR_AUTHENTICATION_FIREWALL_FAILED"));
    ErrorNames.insert(std::make_pair(1936, "ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED"));
    ErrorNames.insert(std::make_pair(1937, "ERROR_NTLM_BLOCKED"));
    ErrorNames.insert(std::make_pair(2000, "ERROR_INVALID_PIXEL_FORMAT"));
    ErrorNames.insert(std::make_pair(2001, "ERROR_BAD_DRIVER"));
    ErrorNames.insert(std::make_pair(2002, "ERROR_INVALID_WINDOW_STYLE"));
    ErrorNames.insert(std::make_pair(2003, "ERROR_METAFILE_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(2004, "ERROR_TRANSFORM_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(2005, "ERROR_CLIPPING_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(2010, "ERROR_INVALID_CMM"));
    ErrorNames.insert(std::make_pair(2011, "ERROR_INVALID_PROFILE"));
    ErrorNames.insert(std::make_pair(2012, "ERROR_TAG_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(2013, "ERROR_TAG_NOT_PRESENT"));
    ErrorNames.insert(std::make_pair(2014, "ERROR_DUPLICATE_TAG"));
    ErrorNames.insert(std::make_pair(2015, "ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE"));
    ErrorNames.insert(std::make_pair(2016, "ERROR_PROFILE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(2017, "ERROR_INVALID_COLORSPACE"));
    ErrorNames.insert(std::make_pair(2018, "ERROR_ICM_NOT_ENABLED"));
    ErrorNames.insert(std::make_pair(2019, "ERROR_DELETING_ICM_XFORM"));
    ErrorNames.insert(std::make_pair(2020, "ERROR_INVALID_TRANSFORM"));
    ErrorNames.insert(std::make_pair(2021, "ERROR_COLORSPACE_MISMATCH"));
    ErrorNames.insert(std::make_pair(2022, "ERROR_INVALID_COLORINDEX"));
    ErrorNames.insert(std::make_pair(2023, "ERROR_PROFILE_DOES_NOT_MATCH_DEVICE"));
    ErrorNames.insert(std::make_pair(2108, "ERROR_CONNECTED_OTHER_PASSWORD"));
    ErrorNames.insert(std::make_pair(2109, "ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT"));
    ErrorNames.insert(std::make_pair(2202, "ERROR_BAD_USERNAME"));
    ErrorNames.insert(std::make_pair(2250, "ERROR_NOT_CONNECTED"));
    ErrorNames.insert(std::make_pair(2401, "ERROR_OPEN_FILES"));
    ErrorNames.insert(std::make_pair(2402, "ERROR_ACTIVE_CONNECTIONS"));
    ErrorNames.insert(std::make_pair(2404, "ERROR_DEVICE_IN_USE"));
    ErrorNames.insert(std::make_pair(3000, "ERROR_UNKNOWN_PRINT_MONITOR"));
    ErrorNames.insert(std::make_pair(3001, "ERROR_PRINTER_DRIVER_IN_USE"));
    ErrorNames.insert(std::make_pair(3002, "ERROR_SPOOL_FILE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(3003, "ERROR_SPL_NO_STARTDOC"));
    ErrorNames.insert(std::make_pair(3004, "ERROR_SPL_NO_ADDJOB"));
    ErrorNames.insert(std::make_pair(3005, "ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED"));
    ErrorNames.insert(std::make_pair(3006, "ERROR_PRINT_MONITOR_ALREADY_INSTALLED"));
    ErrorNames.insert(std::make_pair(3007, "ERROR_INVALID_PRINT_MONITOR"));
    ErrorNames.insert(std::make_pair(3008, "ERROR_PRINT_MONITOR_IN_USE"));
    ErrorNames.insert(std::make_pair(3009, "ERROR_PRINTER_HAS_JOBS_QUEUED"));
    ErrorNames.insert(std::make_pair(3010, "ERROR_SUCCESS_REBOOT_REQUIRED"));
    ErrorNames.insert(std::make_pair(3011, "ERROR_SUCCESS_RESTART_REQUIRED"));
    ErrorNames.insert(std::make_pair(3012, "ERROR_PRINTER_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(3013, "ERROR_PRINTER_DRIVER_WARNED"));
    ErrorNames.insert(std::make_pair(3014, "ERROR_PRINTER_DRIVER_BLOCKED"));
    ErrorNames.insert(std::make_pair(3015, "ERROR_PRINTER_DRIVER_PACKAGE_IN_USE"));
    ErrorNames.insert(std::make_pair(3016, "ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(3017, "ERROR_FAIL_REBOOT_REQUIRED"));
    ErrorNames.insert(std::make_pair(3018, "ERROR_FAIL_REBOOT_INITIATED"));
    ErrorNames.insert(std::make_pair(3019, "ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED"));
    ErrorNames.insert(std::make_pair(3020, "ERROR_PRINT_JOB_RESTART_REQUIRED"));
    ErrorNames.insert(std::make_pair(3950, "ERROR_IO_REISSUE_AS_CACHED"));
    ErrorNames.insert(std::make_pair(4000, "ERROR_WINS_INTERNAL"));
    ErrorNames.insert(std::make_pair(4001, "ERROR_CAN_NOT_DEL_LOCAL_WINS"));
    ErrorNames.insert(std::make_pair(4002, "ERROR_STATIC_INIT"));
    ErrorNames.insert(std::make_pair(4003, "ERROR_INC_BACKUP"));
    ErrorNames.insert(std::make_pair(4004, "ERROR_FULL_BACKUP"));
    ErrorNames.insert(std::make_pair(4005, "ERROR_REC_NON_EXISTENT"));
    ErrorNames.insert(std::make_pair(4006, "ERROR_RPL_NOT_ALLOWED"));
    ErrorNames.insert(std::make_pair(4100, "ERROR_DHCP_ADDRESS_CONFLICT"));
    ErrorNames.insert(std::make_pair(4200, "ERROR_WMI_GUID_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(4201, "ERROR_WMI_INSTANCE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(4202, "ERROR_WMI_ITEMID_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(4203, "ERROR_WMI_TRY_AGAIN"));
    ErrorNames.insert(std::make_pair(4204, "ERROR_WMI_DP_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(4205, "ERROR_WMI_UNRESOLVED_INSTANCE_REF"));
    ErrorNames.insert(std::make_pair(4206, "ERROR_WMI_ALREADY_ENABLED"));
    ErrorNames.insert(std::make_pair(4207, "ERROR_WMI_GUID_DISCONNECTED"));
    ErrorNames.insert(std::make_pair(4208, "ERROR_WMI_SERVER_UNAVAILABLE"));
    ErrorNames.insert(std::make_pair(4209, "ERROR_WMI_DP_FAILED"));
    ErrorNames.insert(std::make_pair(4210, "ERROR_WMI_INVALID_MOF"));
    ErrorNames.insert(std::make_pair(4211, "ERROR_WMI_INVALID_REGINFO"));
    ErrorNames.insert(std::make_pair(4212, "ERROR_WMI_ALREADY_DISABLED"));
    ErrorNames.insert(std::make_pair(4213, "ERROR_WMI_READ_ONLY"));
    ErrorNames.insert(std::make_pair(4214, "ERROR_WMI_SET_FAILURE"));
    ErrorNames.insert(std::make_pair(4300, "ERROR_INVALID_MEDIA"));
    ErrorNames.insert(std::make_pair(4301, "ERROR_INVALID_LIBRARY"));
    ErrorNames.insert(std::make_pair(4302, "ERROR_INVALID_MEDIA_POOL"));
    ErrorNames.insert(std::make_pair(4303, "ERROR_DRIVE_MEDIA_MISMATCH"));
    ErrorNames.insert(std::make_pair(4304, "ERROR_MEDIA_OFFLINE"));
    ErrorNames.insert(std::make_pair(4305, "ERROR_LIBRARY_OFFLINE"));
    ErrorNames.insert(std::make_pair(4306, "ERROR_EMPTY"));
    ErrorNames.insert(std::make_pair(4307, "ERROR_NOT_EMPTY"));
    ErrorNames.insert(std::make_pair(4308, "ERROR_MEDIA_UNAVAILABLE"));
    ErrorNames.insert(std::make_pair(4309, "ERROR_RESOURCE_DISABLED"));
    ErrorNames.insert(std::make_pair(4310, "ERROR_INVALID_CLEANER"));
    ErrorNames.insert(std::make_pair(4311, "ERROR_UNABLE_TO_CLEAN"));
    ErrorNames.insert(std::make_pair(4312, "ERROR_OBJECT_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(4313, "ERROR_DATABASE_FAILURE"));
    ErrorNames.insert(std::make_pair(4314, "ERROR_DATABASE_FULL"));
    ErrorNames.insert(std::make_pair(4315, "ERROR_MEDIA_INCOMPATIBLE"));
    ErrorNames.insert(std::make_pair(4316, "ERROR_RESOURCE_NOT_PRESENT"));
    ErrorNames.insert(std::make_pair(4317, "ERROR_INVALID_OPERATION"));
    ErrorNames.insert(std::make_pair(4318, "ERROR_MEDIA_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(4319, "ERROR_DEVICE_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(4320, "ERROR_REQUEST_REFUSED"));
    ErrorNames.insert(std::make_pair(4321, "ERROR_INVALID_DRIVE_OBJECT"));
    ErrorNames.insert(std::make_pair(4322, "ERROR_LIBRARY_FULL"));
    ErrorNames.insert(std::make_pair(4323, "ERROR_MEDIUM_NOT_ACCESSIBLE"));
    ErrorNames.insert(std::make_pair(4324, "ERROR_UNABLE_TO_LOAD_MEDIUM"));
    ErrorNames.insert(std::make_pair(4325, "ERROR_UNABLE_TO_INVENTORY_DRIVE"));
    ErrorNames.insert(std::make_pair(4326, "ERROR_UNABLE_TO_INVENTORY_SLOT"));
    ErrorNames.insert(std::make_pair(4327, "ERROR_UNABLE_TO_INVENTORY_TRANSPORT"));
    ErrorNames.insert(std::make_pair(4328, "ERROR_TRANSPORT_FULL"));
    ErrorNames.insert(std::make_pair(4329, "ERROR_CONTROLLING_IEPORT"));
    ErrorNames.insert(std::make_pair(4330, "ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA"));
    ErrorNames.insert(std::make_pair(4331, "ERROR_CLEANER_SLOT_SET"));
    ErrorNames.insert(std::make_pair(4332, "ERROR_CLEANER_SLOT_NOT_SET"));
    ErrorNames.insert(std::make_pair(4333, "ERROR_CLEANER_CARTRIDGE_SPENT"));
    ErrorNames.insert(std::make_pair(4334, "ERROR_UNEXPECTED_OMID"));
    ErrorNames.insert(std::make_pair(4335, "ERROR_CANT_DELETE_LAST_ITEM"));
    ErrorNames.insert(std::make_pair(4336, "ERROR_MESSAGE_EXCEEDS_MAX_SIZE"));
    ErrorNames.insert(std::make_pair(4337, "ERROR_VOLUME_CONTAINS_SYS_FILES"));
    ErrorNames.insert(std::make_pair(4338, "ERROR_INDIGENOUS_TYPE"));
    ErrorNames.insert(std::make_pair(4339, "ERROR_NO_SUPPORTING_DRIVES"));
    ErrorNames.insert(std::make_pair(4340, "ERROR_CLEANER_CARTRIDGE_INSTALLED"));
    ErrorNames.insert(std::make_pair(4341, "ERROR_IEPORT_FULL"));
    ErrorNames.insert(std::make_pair(4350, "ERROR_FILE_OFFLINE"));
    ErrorNames.insert(std::make_pair(4351, "ERROR_REMOTE_STORAGE_NOT_ACTIVE"));
    ErrorNames.insert(std::make_pair(4352, "ERROR_REMOTE_STORAGE_MEDIA_ERROR"));
    ErrorNames.insert(std::make_pair(4390, "ERROR_NOT_A_REPARSE_POINT"));
    ErrorNames.insert(std::make_pair(4391, "ERROR_REPARSE_ATTRIBUTE_CONFLICT"));
    ErrorNames.insert(std::make_pair(4392, "ERROR_INVALID_REPARSE_DATA"));
    ErrorNames.insert(std::make_pair(4393, "ERROR_REPARSE_TAG_INVALID"));
    ErrorNames.insert(std::make_pair(4394, "ERROR_REPARSE_TAG_MISMATCH"));
    ErrorNames.insert(std::make_pair(4500, "ERROR_VOLUME_NOT_SIS_ENABLED"));
    ErrorNames.insert(std::make_pair(5001, "ERROR_DEPENDENT_RESOURCE_EXISTS"));
    ErrorNames.insert(std::make_pair(5002, "ERROR_DEPENDENCY_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5003, "ERROR_DEPENDENCY_ALREADY_EXISTS"));
    ErrorNames.insert(std::make_pair(5004, "ERROR_RESOURCE_NOT_ONLINE"));
    ErrorNames.insert(std::make_pair(5005, "ERROR_HOST_NODE_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(5006, "ERROR_RESOURCE_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(5007, "ERROR_RESOURCE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5008, "ERROR_SHUTDOWN_CLUSTER"));
    ErrorNames.insert(std::make_pair(5009, "ERROR_CANT_EVICT_ACTIVE_NODE"));
    ErrorNames.insert(std::make_pair(5010, "ERROR_OBJECT_ALREADY_EXISTS"));
    ErrorNames.insert(std::make_pair(5011, "ERROR_OBJECT_IN_LIST"));
    ErrorNames.insert(std::make_pair(5012, "ERROR_GROUP_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(5013, "ERROR_GROUP_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5014, "ERROR_GROUP_NOT_ONLINE"));
    ErrorNames.insert(std::make_pair(5015, "ERROR_HOST_NODE_NOT_RESOURCE_OWNER"));
    ErrorNames.insert(std::make_pair(5016, "ERROR_HOST_NODE_NOT_GROUP_OWNER"));
    ErrorNames.insert(std::make_pair(5017, "ERROR_RESMON_CREATE_FAILED"));
    ErrorNames.insert(std::make_pair(5018, "ERROR_RESMON_ONLINE_FAILED"));
    ErrorNames.insert(std::make_pair(5019, "ERROR_RESOURCE_ONLINE"));
    ErrorNames.insert(std::make_pair(5020, "ERROR_QUORUM_RESOURCE"));
    ErrorNames.insert(std::make_pair(5021, "ERROR_NOT_QUORUM_CAPABLE"));
    ErrorNames.insert(std::make_pair(5022, "ERROR_CLUSTER_SHUTTING_DOWN"));
    ErrorNames.insert(std::make_pair(5023, "ERROR_INVALID_STATE"));
    ErrorNames.insert(std::make_pair(5024, "ERROR_RESOURCE_PROPERTIES_STORED"));
    ErrorNames.insert(std::make_pair(5025, "ERROR_NOT_QUORUM_CLASS"));
    ErrorNames.insert(std::make_pair(5026, "ERROR_CORE_RESOURCE"));
    ErrorNames.insert(std::make_pair(5027, "ERROR_QUORUM_RESOURCE_ONLINE_FAILED"));
    ErrorNames.insert(std::make_pair(5028, "ERROR_QUORUMLOG_OPEN_FAILED"));
    ErrorNames.insert(std::make_pair(5029, "ERROR_CLUSTERLOG_CORRUPT"));
    ErrorNames.insert(std::make_pair(5030, "ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE"));
    ErrorNames.insert(std::make_pair(5031, "ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE"));
    ErrorNames.insert(std::make_pair(5032, "ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5033, "ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE"));
    ErrorNames.insert(std::make_pair(5034, "ERROR_QUORUM_OWNER_ALIVE"));
    ErrorNames.insert(std::make_pair(5035, "ERROR_NETWORK_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(5036, "ERROR_NODE_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(5037, "ERROR_ALL_NODES_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(5038, "ERROR_RESOURCE_FAILED"));
    ErrorNames.insert(std::make_pair(5039, "ERROR_CLUSTER_INVALID_NODE"));
    ErrorNames.insert(std::make_pair(5040, "ERROR_CLUSTER_NODE_EXISTS"));
    ErrorNames.insert(std::make_pair(5041, "ERROR_CLUSTER_JOIN_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(5042, "ERROR_CLUSTER_NODE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5043, "ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5044, "ERROR_CLUSTER_NETWORK_EXISTS"));
    ErrorNames.insert(std::make_pair(5045, "ERROR_CLUSTER_NETWORK_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5046, "ERROR_CLUSTER_NETINTERFACE_EXISTS"));
    ErrorNames.insert(std::make_pair(5047, "ERROR_CLUSTER_NETINTERFACE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5048, "ERROR_CLUSTER_INVALID_REQUEST"));
    ErrorNames.insert(std::make_pair(5049, "ERROR_CLUSTER_INVALID_NETWORK_PROVIDER"));
    ErrorNames.insert(std::make_pair(5050, "ERROR_CLUSTER_NODE_DOWN"));
    ErrorNames.insert(std::make_pair(5051, "ERROR_CLUSTER_NODE_UNREACHABLE"));
    ErrorNames.insert(std::make_pair(5052, "ERROR_CLUSTER_NODE_NOT_MEMBER"));
    ErrorNames.insert(std::make_pair(5053, "ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(5054, "ERROR_CLUSTER_INVALID_NETWORK"));
    ErrorNames.insert(std::make_pair(5056, "ERROR_CLUSTER_NODE_UP"));
    ErrorNames.insert(std::make_pair(5057, "ERROR_CLUSTER_IPADDR_IN_USE"));
    ErrorNames.insert(std::make_pair(5058, "ERROR_CLUSTER_NODE_NOT_PAUSED"));
    ErrorNames.insert(std::make_pair(5059, "ERROR_CLUSTER_NO_SECURITY_CONTEXT"));
    ErrorNames.insert(std::make_pair(5060, "ERROR_CLUSTER_NETWORK_NOT_INTERNAL"));
    ErrorNames.insert(std::make_pair(5061, "ERROR_CLUSTER_NODE_ALREADY_UP"));
    ErrorNames.insert(std::make_pair(5062, "ERROR_CLUSTER_NODE_ALREADY_DOWN"));
    ErrorNames.insert(std::make_pair(5063, "ERROR_CLUSTER_NETWORK_ALREADY_ONLINE"));
    ErrorNames.insert(std::make_pair(5064, "ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE"));
    ErrorNames.insert(std::make_pair(5065, "ERROR_CLUSTER_NODE_ALREADY_MEMBER"));
    ErrorNames.insert(std::make_pair(5066, "ERROR_CLUSTER_LAST_INTERNAL_NETWORK"));
    ErrorNames.insert(std::make_pair(5067, "ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS"));
    ErrorNames.insert(std::make_pair(5068, "ERROR_INVALID_OPERATION_ON_QUORUM"));
    ErrorNames.insert(std::make_pair(5069, "ERROR_DEPENDENCY_NOT_ALLOWED"));
    ErrorNames.insert(std::make_pair(5070, "ERROR_CLUSTER_NODE_PAUSED"));
    ErrorNames.insert(std::make_pair(5071, "ERROR_NODE_CANT_HOST_RESOURCE"));
    ErrorNames.insert(std::make_pair(5072, "ERROR_CLUSTER_NODE_NOT_READY"));
    ErrorNames.insert(std::make_pair(5073, "ERROR_CLUSTER_NODE_SHUTTING_DOWN"));
    ErrorNames.insert(std::make_pair(5074, "ERROR_CLUSTER_JOIN_ABORTED"));
    ErrorNames.insert(std::make_pair(5075, "ERROR_CLUSTER_INCOMPATIBLE_VERSIONS"));
    ErrorNames.insert(std::make_pair(5076, "ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED"));
    ErrorNames.insert(std::make_pair(5077, "ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED"));
    ErrorNames.insert(std::make_pair(5078, "ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5079, "ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(5080, "ERROR_CLUSTER_RESNAME_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5081, "ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED"));
    ErrorNames.insert(std::make_pair(5082, "ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST"));
    ErrorNames.insert(std::make_pair(5083, "ERROR_CLUSTER_DATABASE_SEQMISMATCH"));
    ErrorNames.insert(std::make_pair(5084, "ERROR_RESMON_INVALID_STATE"));
    ErrorNames.insert(std::make_pair(5085, "ERROR_CLUSTER_GUM_NOT_LOCKER"));
    ErrorNames.insert(std::make_pair(5086, "ERROR_QUORUM_DISK_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5087, "ERROR_DATABASE_BACKUP_CORRUPT"));
    ErrorNames.insert(std::make_pair(5088, "ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT"));
    ErrorNames.insert(std::make_pair(5089, "ERROR_RESOURCE_PROPERTY_UNCHANGEABLE"));
    ErrorNames.insert(std::make_pair(5890, "ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE"));
    ErrorNames.insert(std::make_pair(5891, "ERROR_CLUSTER_QUORUMLOG_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(5892, "ERROR_CLUSTER_MEMBERSHIP_HALT"));
    ErrorNames.insert(std::make_pair(5893, "ERROR_CLUSTER_INSTANCE_ID_MISMATCH"));
    ErrorNames.insert(std::make_pair(5894, "ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP"));
    ErrorNames.insert(std::make_pair(5895, "ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH"));
    ErrorNames.insert(std::make_pair(5896, "ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP"));
    ErrorNames.insert(std::make_pair(5897, "ERROR_CLUSTER_PARAMETER_MISMATCH"));
    ErrorNames.insert(std::make_pair(5898, "ERROR_NODE_CANNOT_BE_CLUSTERED"));
    ErrorNames.insert(std::make_pair(5899, "ERROR_CLUSTER_WRONG_OS_VERSION"));
    ErrorNames.insert(std::make_pair(5900, "ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME"));
    ErrorNames.insert(std::make_pair(5901, "ERROR_CLUSCFG_ALREADY_COMMITTED"));
    ErrorNames.insert(std::make_pair(5902, "ERROR_CLUSCFG_ROLLBACK_FAILED"));
    ErrorNames.insert(std::make_pair(5903, "ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT"));
    ErrorNames.insert(std::make_pair(5904, "ERROR_CLUSTER_OLD_VERSION"));
    ErrorNames.insert(std::make_pair(5905, "ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME"));
    ErrorNames.insert(std::make_pair(5906, "ERROR_CLUSTER_NO_NET_ADAPTERS"));
    ErrorNames.insert(std::make_pair(5907, "ERROR_CLUSTER_POISONED"));
    ErrorNames.insert(std::make_pair(5908, "ERROR_CLUSTER_GROUP_MOVING"));
    ErrorNames.insert(std::make_pair(5909, "ERROR_CLUSTER_RESOURCE_TYPE_BUSY"));
    ErrorNames.insert(std::make_pair(5910, "ERROR_RESOURCE_CALL_TIMED_OUT"));
    ErrorNames.insert(std::make_pair(5911, "ERROR_INVALID_CLUSTER_IPV6_ADDRESS"));
    ErrorNames.insert(std::make_pair(5912, "ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION"));
    ErrorNames.insert(std::make_pair(5913, "ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS"));
    ErrorNames.insert(std::make_pair(5914, "ERROR_CLUSTER_PARTIAL_SEND"));
    ErrorNames.insert(std::make_pair(5915, "ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION"));
    ErrorNames.insert(std::make_pair(5916, "ERROR_CLUSTER_INVALID_STRING_TERMINATION"));
    ErrorNames.insert(std::make_pair(5917, "ERROR_CLUSTER_INVALID_STRING_FORMAT"));
    ErrorNames.insert(std::make_pair(5918, "ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(5919, "ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(5920, "ERROR_CLUSTER_NULL_DATA"));
    ErrorNames.insert(std::make_pair(5921, "ERROR_CLUSTER_PARTIAL_READ"));
    ErrorNames.insert(std::make_pair(5922, "ERROR_CLUSTER_PARTIAL_WRITE"));
    ErrorNames.insert(std::make_pair(5923, "ERROR_CLUSTER_CANT_DESERIALIZE_DATA"));
    ErrorNames.insert(std::make_pair(5924, "ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT"));
    ErrorNames.insert(std::make_pair(5925, "ERROR_CLUSTER_NO_QUORUM"));
    ErrorNames.insert(std::make_pair(5926, "ERROR_CLUSTER_INVALID_IPV6_NETWORK"));
    ErrorNames.insert(std::make_pair(5927, "ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK"));
    ErrorNames.insert(std::make_pair(5928, "ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP"));
    ErrorNames.insert(std::make_pair(5929, "ERROR_DEPENDENCY_TREE_TOO_COMPLEX"));
    ErrorNames.insert(std::make_pair(5930, "ERROR_EXCEPTION_IN_RESOURCE_CALL"));
    ErrorNames.insert(std::make_pair(5931, "ERROR_CLUSTER_RHS_FAILED_INITIALIZATION"));
    ErrorNames.insert(std::make_pair(5932, "ERROR_CLUSTER_NOT_INSTALLED"));
    ErrorNames.insert(std::make_pair(5933, "ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE"));
    ErrorNames.insert(std::make_pair(5934, "ERROR_CLUSTER_MAX_NODES_IN_CLUSTER"));
    ErrorNames.insert(std::make_pair(5935, "ERROR_CLUSTER_TOO_MANY_NODES"));
    ErrorNames.insert(std::make_pair(5936, "ERROR_CLUSTER_OBJECT_ALREADY_USED"));
    ErrorNames.insert(std::make_pair(5937, "ERROR_NONCORE_GROUPS_FOUND"));
    ErrorNames.insert(std::make_pair(5938, "ERROR_FILE_SHARE_RESOURCE_CONFLICT"));
    ErrorNames.insert(std::make_pair(5939, "ERROR_CLUSTER_EVICT_INVALID_REQUEST"));
    ErrorNames.insert(std::make_pair(5940, "ERROR_CLUSTER_SINGLETON_RESOURCE"));
    ErrorNames.insert(std::make_pair(5941, "ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE"));
    ErrorNames.insert(std::make_pair(5942, "ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED"));
    ErrorNames.insert(std::make_pair(5943, "ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR"));
    ErrorNames.insert(std::make_pair(5944, "ERROR_CLUSTER_GROUP_BUSY"));
    ErrorNames.insert(std::make_pair(5945, "ERROR_CLUSTER_NOT_SHARED_VOLUME"));
    ErrorNames.insert(std::make_pair(5946, "ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR"));
    ErrorNames.insert(std::make_pair(5947, "ERROR_CLUSTER_SHARED_VOLUMES_IN_USE"));
    ErrorNames.insert(std::make_pair(5948, "ERROR_CLUSTER_USE_SHARED_VOLUMES_API"));
    ErrorNames.insert(std::make_pair(5949, "ERROR_CLUSTER_BACKUP_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(5950, "ERROR_NON_CSV_PATH"));
    ErrorNames.insert(std::make_pair(5951, "ERROR_CSV_VOLUME_NOT_LOCAL"));
    ErrorNames.insert(std::make_pair(5952, "ERROR_CLUSTER_WATCHDOG_TERMINATING"));
    ErrorNames.insert(std::make_pair(6000, "ERROR_ENCRYPTION_FAILED"));
    ErrorNames.insert(std::make_pair(6001, "ERROR_DECRYPTION_FAILED"));
    ErrorNames.insert(std::make_pair(6002, "ERROR_FILE_ENCRYPTED"));
    ErrorNames.insert(std::make_pair(6003, "ERROR_NO_RECOVERY_POLICY"));
    ErrorNames.insert(std::make_pair(6004, "ERROR_NO_EFS"));
    ErrorNames.insert(std::make_pair(6005, "ERROR_WRONG_EFS"));
    ErrorNames.insert(std::make_pair(6006, "ERROR_NO_USER_KEYS"));
    ErrorNames.insert(std::make_pair(6007, "ERROR_FILE_NOT_ENCRYPTED"));
    ErrorNames.insert(std::make_pair(6008, "ERROR_NOT_EXPORT_FORMAT"));
    ErrorNames.insert(std::make_pair(6009, "ERROR_FILE_READ_ONLY"));
    ErrorNames.insert(std::make_pair(6010, "ERROR_DIR_EFS_DISALLOWED"));
    ErrorNames.insert(std::make_pair(6011, "ERROR_EFS_SERVER_NOT_TRUSTED"));
    ErrorNames.insert(std::make_pair(6012, "ERROR_BAD_RECOVERY_POLICY"));
    ErrorNames.insert(std::make_pair(6013, "ERROR_EFS_ALG_BLOB_TOO_BIG"));
    ErrorNames.insert(std::make_pair(6014, "ERROR_VOLUME_NOT_SUPPORT_EFS"));
    ErrorNames.insert(std::make_pair(6015, "ERROR_EFS_DISABLED"));
    ErrorNames.insert(std::make_pair(6016, "ERROR_EFS_VERSION_NOT_SUPPORT"));
    ErrorNames.insert(std::make_pair(6017, "ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE"));
    ErrorNames.insert(std::make_pair(6018, "ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER"));
    ErrorNames.insert(std::make_pair(6019, "ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE"));
    ErrorNames.insert(std::make_pair(6020, "ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE"));
    ErrorNames.insert(std::make_pair(6021, "ERROR_CS_ENCRYPTION_FILE_NOT_CSE"));
    ErrorNames.insert(std::make_pair(6022, "ERROR_ENCRYPTION_POLICY_DENIES_OPERATION"));
    ErrorNames.insert(std::make_pair(6118, "ERROR_NO_BROWSER_SERVERS_FOUND"));
    ErrorNames.insert(std::make_pair(6600, "ERROR_LOG_SECTOR_INVALID"));
    ErrorNames.insert(std::make_pair(6601, "ERROR_LOG_SECTOR_PARITY_INVALID"));
    ErrorNames.insert(std::make_pair(6602, "ERROR_LOG_SECTOR_REMAPPED"));
    ErrorNames.insert(std::make_pair(6603, "ERROR_LOG_BLOCK_INCOMPLETE"));
    ErrorNames.insert(std::make_pair(6604, "ERROR_LOG_INVALID_RANGE"));
    ErrorNames.insert(std::make_pair(6605, "ERROR_LOG_BLOCKS_EXHAUSTED"));
    ErrorNames.insert(std::make_pair(6606, "ERROR_LOG_READ_CONTEXT_INVALID"));
    ErrorNames.insert(std::make_pair(6607, "ERROR_LOG_RESTART_INVALID"));
    ErrorNames.insert(std::make_pair(6608, "ERROR_LOG_BLOCK_VERSION"));
    ErrorNames.insert(std::make_pair(6609, "ERROR_LOG_BLOCK_INVALID"));
    ErrorNames.insert(std::make_pair(6610, "ERROR_LOG_READ_MODE_INVALID"));
    ErrorNames.insert(std::make_pair(6611, "ERROR_LOG_NO_RESTART"));
    ErrorNames.insert(std::make_pair(6612, "ERROR_LOG_METADATA_CORRUPT"));
    ErrorNames.insert(std::make_pair(6613, "ERROR_LOG_METADATA_INVALID"));
    ErrorNames.insert(std::make_pair(6614, "ERROR_LOG_METADATA_INCONSISTENT"));
    ErrorNames.insert(std::make_pair(6615, "ERROR_LOG_RESERVATION_INVALID"));
    ErrorNames.insert(std::make_pair(6616, "ERROR_LOG_CANT_DELETE"));
    ErrorNames.insert(std::make_pair(6617, "ERROR_LOG_CONTAINER_LIMIT_EXCEEDED"));
    ErrorNames.insert(std::make_pair(6618, "ERROR_LOG_START_OF_LOG"));
    ErrorNames.insert(std::make_pair(6619, "ERROR_LOG_POLICY_ALREADY_INSTALLED"));
    ErrorNames.insert(std::make_pair(6620, "ERROR_LOG_POLICY_NOT_INSTALLED"));
    ErrorNames.insert(std::make_pair(6621, "ERROR_LOG_POLICY_INVALID"));
    ErrorNames.insert(std::make_pair(6622, "ERROR_LOG_POLICY_CONFLICT"));
    ErrorNames.insert(std::make_pair(6623, "ERROR_LOG_PINNED_ARCHIVE_TAIL"));
    ErrorNames.insert(std::make_pair(6624, "ERROR_LOG_RECORD_NONEXISTENT"));
    ErrorNames.insert(std::make_pair(6625, "ERROR_LOG_RECORDS_RESERVED_INVALID"));
    ErrorNames.insert(std::make_pair(6626, "ERROR_LOG_SPACE_RESERVED_INVALID"));
    ErrorNames.insert(std::make_pair(6627, "ERROR_LOG_TAIL_INVALID"));
    ErrorNames.insert(std::make_pair(6628, "ERROR_LOG_FULL"));
    ErrorNames.insert(std::make_pair(6629, "ERROR_COULD_NOT_RESIZE_LOG"));
    ErrorNames.insert(std::make_pair(6630, "ERROR_LOG_MULTIPLEXED"));
    ErrorNames.insert(std::make_pair(6631, "ERROR_LOG_DEDICATED"));
    ErrorNames.insert(std::make_pair(6632, "ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(6633, "ERROR_LOG_ARCHIVE_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(6634, "ERROR_LOG_EPHEMERAL"));
    ErrorNames.insert(std::make_pair(6635, "ERROR_LOG_NOT_ENOUGH_CONTAINERS"));
    ErrorNames.insert(std::make_pair(6636, "ERROR_LOG_CLIENT_ALREADY_REGISTERED"));
    ErrorNames.insert(std::make_pair(6637, "ERROR_LOG_CLIENT_NOT_REGISTERED"));
    ErrorNames.insert(std::make_pair(6638, "ERROR_LOG_FULL_HANDLER_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(6639, "ERROR_LOG_CONTAINER_READ_FAILED"));
    ErrorNames.insert(std::make_pair(6640, "ERROR_LOG_CONTAINER_WRITE_FAILED"));
    ErrorNames.insert(std::make_pair(6641, "ERROR_LOG_CONTAINER_OPEN_FAILED"));
    ErrorNames.insert(std::make_pair(6642, "ERROR_LOG_CONTAINER_STATE_INVALID"));
    ErrorNames.insert(std::make_pair(6643, "ERROR_LOG_STATE_INVALID"));
    ErrorNames.insert(std::make_pair(6644, "ERROR_LOG_PINNED"));
    ErrorNames.insert(std::make_pair(6645, "ERROR_LOG_METADATA_FLUSH_FAILED"));
    ErrorNames.insert(std::make_pair(6646, "ERROR_LOG_INCONSISTENT_SECURITY"));
    ErrorNames.insert(std::make_pair(6647, "ERROR_LOG_APPENDED_FLUSH_FAILED"));
    ErrorNames.insert(std::make_pair(6648, "ERROR_LOG_PINNED_RESERVATION"));
    ErrorNames.insert(std::make_pair(6700, "ERROR_INVALID_TRANSACTION"));
    ErrorNames.insert(std::make_pair(6701, "ERROR_TRANSACTION_NOT_ACTIVE"));
    ErrorNames.insert(std::make_pair(6702, "ERROR_TRANSACTION_REQUEST_NOT_VALID"));
    ErrorNames.insert(std::make_pair(6703, "ERROR_TRANSACTION_NOT_REQUESTED"));
    ErrorNames.insert(std::make_pair(6704, "ERROR_TRANSACTION_ALREADY_ABORTED"));
    ErrorNames.insert(std::make_pair(6705, "ERROR_TRANSACTION_ALREADY_COMMITTED"));
    ErrorNames.insert(std::make_pair(6706, "ERROR_TM_INITIALIZATION_FAILED"));
    ErrorNames.insert(std::make_pair(6707, "ERROR_RESOURCEMANAGER_READ_ONLY"));
    ErrorNames.insert(std::make_pair(6708, "ERROR_TRANSACTION_NOT_JOINED"));
    ErrorNames.insert(std::make_pair(6709, "ERROR_TRANSACTION_SUPERIOR_EXISTS"));
    ErrorNames.insert(std::make_pair(6710, "ERROR_CRM_PROTOCOL_ALREADY_EXISTS"));
    ErrorNames.insert(std::make_pair(6711, "ERROR_TRANSACTION_PROPAGATION_FAILED"));
    ErrorNames.insert(std::make_pair(6712, "ERROR_CRM_PROTOCOL_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(6713, "ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER"));
    ErrorNames.insert(std::make_pair(6714, "ERROR_CURRENT_TRANSACTION_NOT_VALID"));
    ErrorNames.insert(std::make_pair(6715, "ERROR_TRANSACTION_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(6716, "ERROR_RESOURCEMANAGER_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(6717, "ERROR_ENLISTMENT_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(6718, "ERROR_TRANSACTIONMANAGER_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(6719, "ERROR_TRANSACTIONMANAGER_NOT_ONLINE"));
    ErrorNames.insert(std::make_pair(6720, "ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION"));
    ErrorNames.insert(std::make_pair(6721, "ERROR_TRANSACTION_NOT_ROOT"));
    ErrorNames.insert(std::make_pair(6722, "ERROR_TRANSACTION_OBJECT_EXPIRED"));
    ErrorNames.insert(std::make_pair(6723, "ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED"));
    ErrorNames.insert(std::make_pair(6724, "ERROR_TRANSACTION_RECORD_TOO_LONG"));
    ErrorNames.insert(std::make_pair(6725, "ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(6726, "ERROR_TRANSACTION_INTEGRITY_VIOLATED"));
    ErrorNames.insert(std::make_pair(6727, "ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH"));
    ErrorNames.insert(std::make_pair(6728, "ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT"));
    ErrorNames.insert(std::make_pair(6729, "ERROR_TRANSACTION_MUST_WRITETHROUGH"));
    ErrorNames.insert(std::make_pair(6730, "ERROR_TRANSACTION_NO_SUPERIOR"));
    ErrorNames.insert(std::make_pair(6731, "ERROR_HEURISTIC_DAMAGE_POSSIBLE"));
    ErrorNames.insert(std::make_pair(6800, "ERROR_TRANSACTIONAL_CONFLICT"));
    ErrorNames.insert(std::make_pair(6801, "ERROR_RM_NOT_ACTIVE"));
    ErrorNames.insert(std::make_pair(6802, "ERROR_RM_METADATA_CORRUPT"));
    ErrorNames.insert(std::make_pair(6803, "ERROR_DIRECTORY_NOT_RM"));
    ErrorNames.insert(std::make_pair(6805, "ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE"));
    ErrorNames.insert(std::make_pair(6806, "ERROR_LOG_RESIZE_INVALID_SIZE"));
    ErrorNames.insert(std::make_pair(6807, "ERROR_OBJECT_NO_LONGER_EXISTS"));
    ErrorNames.insert(std::make_pair(6808, "ERROR_STREAM_MINIVERSION_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(6809, "ERROR_STREAM_MINIVERSION_NOT_VALID"));
    ErrorNames.insert(std::make_pair(6810, "ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION"));
    ErrorNames.insert(std::make_pair(6811, "ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT"));
    ErrorNames.insert(std::make_pair(6812, "ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS"));
    ErrorNames.insert(std::make_pair(6814, "ERROR_REMOTE_FILE_VERSION_MISMATCH"));
    ErrorNames.insert(std::make_pair(6815, "ERROR_HANDLE_NO_LONGER_VALID"));
    ErrorNames.insert(std::make_pair(6816, "ERROR_NO_TXF_METADATA"));
    ErrorNames.insert(std::make_pair(6817, "ERROR_LOG_CORRUPTION_DETECTED"));
    ErrorNames.insert(std::make_pair(6818, "ERROR_CANT_RECOVER_WITH_HANDLE_OPEN"));
    ErrorNames.insert(std::make_pair(6819, "ERROR_RM_DISCONNECTED"));
    ErrorNames.insert(std::make_pair(6820, "ERROR_ENLISTMENT_NOT_SUPERIOR"));
    ErrorNames.insert(std::make_pair(6821, "ERROR_RECOVERY_NOT_NEEDED"));
    ErrorNames.insert(std::make_pair(6822, "ERROR_RM_ALREADY_STARTED"));
    ErrorNames.insert(std::make_pair(6823, "ERROR_FILE_IDENTITY_NOT_PERSISTENT"));
    ErrorNames.insert(std::make_pair(6824, "ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY"));
    ErrorNames.insert(std::make_pair(6825, "ERROR_CANT_CROSS_RM_BOUNDARY"));
    ErrorNames.insert(std::make_pair(6826, "ERROR_TXF_DIR_NOT_EMPTY"));
    ErrorNames.insert(std::make_pair(6827, "ERROR_INDOUBT_TRANSACTIONS_EXIST"));
    ErrorNames.insert(std::make_pair(6828, "ERROR_TM_VOLATILE"));
    ErrorNames.insert(std::make_pair(6829, "ERROR_ROLLBACK_TIMER_EXPIRED"));
    ErrorNames.insert(std::make_pair(6830, "ERROR_TXF_ATTRIBUTE_CORRUPT"));
    ErrorNames.insert(std::make_pair(6831, "ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION"));
    ErrorNames.insert(std::make_pair(6832, "ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED"));
    ErrorNames.insert(std::make_pair(6833, "ERROR_LOG_GROWTH_FAILED"));
    ErrorNames.insert(std::make_pair(6834, "ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE"));
    ErrorNames.insert(std::make_pair(6835, "ERROR_TXF_METADATA_ALREADY_PRESENT"));
    ErrorNames.insert(std::make_pair(6836, "ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET"));
    ErrorNames.insert(std::make_pair(6837, "ERROR_TRANSACTION_REQUIRED_PROMOTION"));
    ErrorNames.insert(std::make_pair(6838, "ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION"));
    ErrorNames.insert(std::make_pair(6839, "ERROR_TRANSACTIONS_NOT_FROZEN"));
    ErrorNames.insert(std::make_pair(6840, "ERROR_TRANSACTION_FREEZE_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(6841, "ERROR_NOT_SNAPSHOT_VOLUME"));
    ErrorNames.insert(std::make_pair(6842, "ERROR_NO_SAVEPOINT_WITH_OPEN_FILES"));
    ErrorNames.insert(std::make_pair(6843, "ERROR_DATA_LOST_REPAIR"));
    ErrorNames.insert(std::make_pair(6844, "ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION"));
    ErrorNames.insert(std::make_pair(6845, "ERROR_TM_IDENTITY_MISMATCH"));
    ErrorNames.insert(std::make_pair(6846, "ERROR_FLOATED_SECTION"));
    ErrorNames.insert(std::make_pair(6847, "ERROR_CANNOT_ACCEPT_TRANSACTED_WORK"));
    ErrorNames.insert(std::make_pair(6848, "ERROR_CANNOT_ABORT_TRANSACTIONS"));
    ErrorNames.insert(std::make_pair(6849, "ERROR_BAD_CLUSTERS"));
    ErrorNames.insert(std::make_pair(6850, "ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION"));
    ErrorNames.insert(std::make_pair(6851, "ERROR_VOLUME_DIRTY"));
    ErrorNames.insert(std::make_pair(6852, "ERROR_NO_LINK_TRACKING_IN_TRANSACTION"));
    ErrorNames.insert(std::make_pair(6853, "ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION"));
    ErrorNames.insert(std::make_pair(6854, "ERROR_EXPIRED_HANDLE"));
    ErrorNames.insert(std::make_pair(6855, "ERROR_TRANSACTION_NOT_ENLISTED"));
    ErrorNames.insert(std::make_pair(7001, "ERROR_CTX_WINSTATION_NAME_INVALID"));
    ErrorNames.insert(std::make_pair(7002, "ERROR_CTX_INVALID_PD"));
    ErrorNames.insert(std::make_pair(7003, "ERROR_CTX_PD_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(7004, "ERROR_CTX_WD_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(7005, "ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY"));
    ErrorNames.insert(std::make_pair(7006, "ERROR_CTX_SERVICE_NAME_COLLISION"));
    ErrorNames.insert(std::make_pair(7007, "ERROR_CTX_CLOSE_PENDING"));
    ErrorNames.insert(std::make_pair(7008, "ERROR_CTX_NO_OUTBUF"));
    ErrorNames.insert(std::make_pair(7009, "ERROR_CTX_MODEM_INF_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(7010, "ERROR_CTX_INVALID_MODEMNAME"));
    ErrorNames.insert(std::make_pair(7011, "ERROR_CTX_MODEM_RESPONSE_ERROR"));
    ErrorNames.insert(std::make_pair(7012, "ERROR_CTX_MODEM_RESPONSE_TIMEOUT"));
    ErrorNames.insert(std::make_pair(7013, "ERROR_CTX_MODEM_RESPONSE_NO_CARRIER"));
    ErrorNames.insert(std::make_pair(7014, "ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE"));
    ErrorNames.insert(std::make_pair(7015, "ERROR_CTX_MODEM_RESPONSE_BUSY"));
    ErrorNames.insert(std::make_pair(7016, "ERROR_CTX_MODEM_RESPONSE_VOICE"));
    ErrorNames.insert(std::make_pair(7017, "ERROR_CTX_TD_ERROR"));
    ErrorNames.insert(std::make_pair(7022, "ERROR_CTX_WINSTATION_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(7023, "ERROR_CTX_WINSTATION_ALREADY_EXISTS"));
    ErrorNames.insert(std::make_pair(7024, "ERROR_CTX_WINSTATION_BUSY"));
    ErrorNames.insert(std::make_pair(7025, "ERROR_CTX_BAD_VIDEO_MODE"));
    ErrorNames.insert(std::make_pair(7035, "ERROR_CTX_GRAPHICS_INVALID"));
    ErrorNames.insert(std::make_pair(7037, "ERROR_CTX_LOGON_DISABLED"));
    ErrorNames.insert(std::make_pair(7038, "ERROR_CTX_NOT_CONSOLE"));
    ErrorNames.insert(std::make_pair(7040, "ERROR_CTX_CLIENT_QUERY_TIMEOUT"));
    ErrorNames.insert(std::make_pair(7041, "ERROR_CTX_CONSOLE_DISCONNECT"));
    ErrorNames.insert(std::make_pair(7042, "ERROR_CTX_CONSOLE_CONNECT"));
    ErrorNames.insert(std::make_pair(7044, "ERROR_CTX_SHADOW_DENIED"));
    ErrorNames.insert(std::make_pair(7045, "ERROR_CTX_WINSTATION_ACCESS_DENIED"));
    ErrorNames.insert(std::make_pair(7049, "ERROR_CTX_INVALID_WD"));
    ErrorNames.insert(std::make_pair(7050, "ERROR_CTX_SHADOW_INVALID"));
    ErrorNames.insert(std::make_pair(7051, "ERROR_CTX_SHADOW_DISABLED"));
    ErrorNames.insert(std::make_pair(7052, "ERROR_CTX_CLIENT_LICENSE_IN_USE"));
    ErrorNames.insert(std::make_pair(7053, "ERROR_CTX_CLIENT_LICENSE_NOT_SET"));
    ErrorNames.insert(std::make_pair(7054, "ERROR_CTX_LICENSE_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(7055, "ERROR_CTX_LICENSE_CLIENT_INVALID"));
    ErrorNames.insert(std::make_pair(7056, "ERROR_CTX_LICENSE_EXPIRED"));
    ErrorNames.insert(std::make_pair(7057, "ERROR_CTX_SHADOW_NOT_RUNNING"));
    ErrorNames.insert(std::make_pair(7058, "ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE"));
    ErrorNames.insert(std::make_pair(7059, "ERROR_ACTIVATION_COUNT_EXCEEDED"));
    ErrorNames.insert(std::make_pair(7060, "ERROR_CTX_WINSTATIONS_DISABLED"));
    ErrorNames.insert(std::make_pair(7061, "ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED"));
    ErrorNames.insert(std::make_pair(7062, "ERROR_CTX_SESSION_IN_USE"));
    ErrorNames.insert(std::make_pair(7063, "ERROR_CTX_NO_FORCE_LOGOFF"));
    ErrorNames.insert(std::make_pair(7064, "ERROR_CTX_ACCOUNT_RESTRICTION"));
    ErrorNames.insert(std::make_pair(7065, "ERROR_RDP_PROTOCOL_ERROR"));
    ErrorNames.insert(std::make_pair(7066, "ERROR_CTX_CDM_CONNECT"));
    ErrorNames.insert(std::make_pair(7067, "ERROR_CTX_CDM_DISCONNECT"));
    ErrorNames.insert(std::make_pair(7068, "ERROR_CTX_SECURITY_LAYER_ERROR"));
    ErrorNames.insert(std::make_pair(7069, "ERROR_TS_INCOMPATIBLE_SESSIONS"));
    ErrorNames.insert(std::make_pair(7070, "ERROR_TS_VIDEO_SUBSYSTEM_ERROR"));
    ErrorNames.insert(std::make_pair(8200, "ERROR_DS_NOT_INSTALLED"));
    ErrorNames.insert(std::make_pair(8201, "ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY"));
    ErrorNames.insert(std::make_pair(8202, "ERROR_DS_NO_ATTRIBUTE_OR_VALUE"));
    ErrorNames.insert(std::make_pair(8203, "ERROR_DS_INVALID_ATTRIBUTE_SYNTAX"));
    ErrorNames.insert(std::make_pair(8204, "ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED"));
    ErrorNames.insert(std::make_pair(8205, "ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS"));
    ErrorNames.insert(std::make_pair(8206, "ERROR_DS_BUSY"));
    ErrorNames.insert(std::make_pair(8207, "ERROR_DS_UNAVAILABLE"));
    ErrorNames.insert(std::make_pair(8208, "ERROR_DS_NO_RIDS_ALLOCATED"));
    ErrorNames.insert(std::make_pair(8209, "ERROR_DS_NO_MORE_RIDS"));
    ErrorNames.insert(std::make_pair(8210, "ERROR_DS_INCORRECT_ROLE_OWNER"));
    ErrorNames.insert(std::make_pair(8211, "ERROR_DS_RIDMGR_INIT_ERROR"));
    ErrorNames.insert(std::make_pair(8212, "ERROR_DS_OBJ_CLASS_VIOLATION"));
    ErrorNames.insert(std::make_pair(8213, "ERROR_DS_CANT_ON_NON_LEAF"));
    ErrorNames.insert(std::make_pair(8214, "ERROR_DS_CANT_ON_RDN"));
    ErrorNames.insert(std::make_pair(8215, "ERROR_DS_CANT_MOD_OBJ_CLASS"));
    ErrorNames.insert(std::make_pair(8216, "ERROR_DS_CROSS_DOM_MOVE_ERROR"));
    ErrorNames.insert(std::make_pair(8217, "ERROR_DS_GC_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(8218, "ERROR_SHARED_POLICY"));
    ErrorNames.insert(std::make_pair(8219, "ERROR_POLICY_OBJECT_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(8220, "ERROR_POLICY_ONLY_IN_DS"));
    ErrorNames.insert(std::make_pair(8221, "ERROR_PROMOTION_ACTIVE"));
    ErrorNames.insert(std::make_pair(8222, "ERROR_NO_PROMOTION_ACTIVE"));
    ErrorNames.insert(std::make_pair(8224, "ERROR_DS_OPERATIONS_ERROR"));
    ErrorNames.insert(std::make_pair(8225, "ERROR_DS_PROTOCOL_ERROR"));
    ErrorNames.insert(std::make_pair(8226, "ERROR_DS_TIMELIMIT_EXCEEDED"));
    ErrorNames.insert(std::make_pair(8227, "ERROR_DS_SIZELIMIT_EXCEEDED"));
    ErrorNames.insert(std::make_pair(8228, "ERROR_DS_ADMIN_LIMIT_EXCEEDED"));
    ErrorNames.insert(std::make_pair(8229, "ERROR_DS_COMPARE_FALSE"));
    ErrorNames.insert(std::make_pair(8230, "ERROR_DS_COMPARE_TRUE"));
    ErrorNames.insert(std::make_pair(8231, "ERROR_DS_AUTH_METHOD_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(8232, "ERROR_DS_STRONG_AUTH_REQUIRED"));
    ErrorNames.insert(std::make_pair(8233, "ERROR_DS_INAPPROPRIATE_AUTH"));
    ErrorNames.insert(std::make_pair(8234, "ERROR_DS_AUTH_UNKNOWN"));
    ErrorNames.insert(std::make_pair(8235, "ERROR_DS_REFERRAL"));
    ErrorNames.insert(std::make_pair(8236, "ERROR_DS_UNAVAILABLE_CRIT_EXTENSION"));
    ErrorNames.insert(std::make_pair(8237, "ERROR_DS_CONFIDENTIALITY_REQUIRED"));
    ErrorNames.insert(std::make_pair(8238, "ERROR_DS_INAPPROPRIATE_MATCHING"));
    ErrorNames.insert(std::make_pair(8239, "ERROR_DS_CONSTRAINT_VIOLATION"));
    ErrorNames.insert(std::make_pair(8240, "ERROR_DS_NO_SUCH_OBJECT"));
    ErrorNames.insert(std::make_pair(8241, "ERROR_DS_ALIAS_PROBLEM"));
    ErrorNames.insert(std::make_pair(8242, "ERROR_DS_INVALID_DN_SYNTAX"));
    ErrorNames.insert(std::make_pair(8243, "ERROR_DS_IS_LEAF"));
    ErrorNames.insert(std::make_pair(8244, "ERROR_DS_ALIAS_DEREF_PROBLEM"));
    ErrorNames.insert(std::make_pair(8245, "ERROR_DS_UNWILLING_TO_PERFORM"));
    ErrorNames.insert(std::make_pair(8246, "ERROR_DS_LOOP_DETECT"));
    ErrorNames.insert(std::make_pair(8247, "ERROR_DS_NAMING_VIOLATION"));
    ErrorNames.insert(std::make_pair(8248, "ERROR_DS_OBJECT_RESULTS_TOO_LARGE"));
    ErrorNames.insert(std::make_pair(8249, "ERROR_DS_AFFECTS_MULTIPLE_DSAS"));
    ErrorNames.insert(std::make_pair(8250, "ERROR_DS_SERVER_DOWN"));
    ErrorNames.insert(std::make_pair(8251, "ERROR_DS_LOCAL_ERROR"));
    ErrorNames.insert(std::make_pair(8252, "ERROR_DS_ENCODING_ERROR"));
    ErrorNames.insert(std::make_pair(8253, "ERROR_DS_DECODING_ERROR"));
    ErrorNames.insert(std::make_pair(8254, "ERROR_DS_FILTER_UNKNOWN"));
    ErrorNames.insert(std::make_pair(8255, "ERROR_DS_PARAM_ERROR"));
    ErrorNames.insert(std::make_pair(8256, "ERROR_DS_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(8257, "ERROR_DS_NO_RESULTS_RETURNED"));
    ErrorNames.insert(std::make_pair(8258, "ERROR_DS_CONTROL_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(8259, "ERROR_DS_CLIENT_LOOP"));
    ErrorNames.insert(std::make_pair(8260, "ERROR_DS_REFERRAL_LIMIT_EXCEEDED"));
    ErrorNames.insert(std::make_pair(8261, "ERROR_DS_SORT_CONTROL_MISSING"));
    ErrorNames.insert(std::make_pair(8262, "ERROR_DS_OFFSET_RANGE_ERROR"));
    ErrorNames.insert(std::make_pair(8301, "ERROR_DS_ROOT_MUST_BE_NC"));
    ErrorNames.insert(std::make_pair(8302, "ERROR_DS_ADD_REPLICA_INHIBITED"));
    ErrorNames.insert(std::make_pair(8303, "ERROR_DS_ATT_NOT_DEF_IN_SCHEMA"));
    ErrorNames.insert(std::make_pair(8304, "ERROR_DS_MAX_OBJ_SIZE_EXCEEDED"));
    ErrorNames.insert(std::make_pair(8305, "ERROR_DS_OBJ_STRING_NAME_EXISTS"));
    ErrorNames.insert(std::make_pair(8306, "ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA"));
    ErrorNames.insert(std::make_pair(8307, "ERROR_DS_RDN_DOESNT_MATCH_SCHEMA"));
    ErrorNames.insert(std::make_pair(8308, "ERROR_DS_NO_REQUESTED_ATTS_FOUND"));
    ErrorNames.insert(std::make_pair(8309, "ERROR_DS_USER_BUFFER_TO_SMALL"));
    ErrorNames.insert(std::make_pair(8310, "ERROR_DS_ATT_IS_NOT_ON_OBJ"));
    ErrorNames.insert(std::make_pair(8311, "ERROR_DS_ILLEGAL_MOD_OPERATION"));
    ErrorNames.insert(std::make_pair(8312, "ERROR_DS_OBJ_TOO_LARGE"));
    ErrorNames.insert(std::make_pair(8313, "ERROR_DS_BAD_INSTANCE_TYPE"));
    ErrorNames.insert(std::make_pair(8314, "ERROR_DS_MASTERDSA_REQUIRED"));
    ErrorNames.insert(std::make_pair(8315, "ERROR_DS_OBJECT_CLASS_REQUIRED"));
    ErrorNames.insert(std::make_pair(8316, "ERROR_DS_MISSING_REQUIRED_ATT"));
    ErrorNames.insert(std::make_pair(8317, "ERROR_DS_ATT_NOT_DEF_FOR_CLASS"));
    ErrorNames.insert(std::make_pair(8318, "ERROR_DS_ATT_ALREADY_EXISTS"));
    ErrorNames.insert(std::make_pair(8320, "ERROR_DS_CANT_ADD_ATT_VALUES"));
    ErrorNames.insert(std::make_pair(8321, "ERROR_DS_SINGLE_VALUE_CONSTRAINT"));
    ErrorNames.insert(std::make_pair(8322, "ERROR_DS_RANGE_CONSTRAINT"));
    ErrorNames.insert(std::make_pair(8323, "ERROR_DS_ATT_VAL_ALREADY_EXISTS"));
    ErrorNames.insert(std::make_pair(8324, "ERROR_DS_CANT_REM_MISSING_ATT"));
    ErrorNames.insert(std::make_pair(8325, "ERROR_DS_CANT_REM_MISSING_ATT_VAL"));
    ErrorNames.insert(std::make_pair(8326, "ERROR_DS_ROOT_CANT_BE_SUBREF"));
    ErrorNames.insert(std::make_pair(8327, "ERROR_DS_NO_CHAINING"));
    ErrorNames.insert(std::make_pair(8328, "ERROR_DS_NO_CHAINED_EVAL"));
    ErrorNames.insert(std::make_pair(8329, "ERROR_DS_NO_PARENT_OBJECT"));
    ErrorNames.insert(std::make_pair(8330, "ERROR_DS_PARENT_IS_AN_ALIAS"));
    ErrorNames.insert(std::make_pair(8331, "ERROR_DS_CANT_MIX_MASTER_AND_REPS"));
    ErrorNames.insert(std::make_pair(8332, "ERROR_DS_CHILDREN_EXIST"));
    ErrorNames.insert(std::make_pair(8333, "ERROR_DS_OBJ_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(8334, "ERROR_DS_ALIASED_OBJ_MISSING"));
    ErrorNames.insert(std::make_pair(8335, "ERROR_DS_BAD_NAME_SYNTAX"));
    ErrorNames.insert(std::make_pair(8336, "ERROR_DS_ALIAS_POINTS_TO_ALIAS"));
    ErrorNames.insert(std::make_pair(8337, "ERROR_DS_CANT_DEREF_ALIAS"));
    ErrorNames.insert(std::make_pair(8338, "ERROR_DS_OUT_OF_SCOPE"));
    ErrorNames.insert(std::make_pair(8339, "ERROR_DS_OBJECT_BEING_REMOVED"));
    ErrorNames.insert(std::make_pair(8340, "ERROR_DS_CANT_DELETE_DSA_OBJ"));
    ErrorNames.insert(std::make_pair(8341, "ERROR_DS_GENERIC_ERROR"));
    ErrorNames.insert(std::make_pair(8342, "ERROR_DS_DSA_MUST_BE_INT_MASTER"));
    ErrorNames.insert(std::make_pair(8343, "ERROR_DS_CLASS_NOT_DSA"));
    ErrorNames.insert(std::make_pair(8344, "ERROR_DS_INSUFF_ACCESS_RIGHTS"));
    ErrorNames.insert(std::make_pair(8345, "ERROR_DS_ILLEGAL_SUPERIOR"));
    ErrorNames.insert(std::make_pair(8346, "ERROR_DS_ATTRIBUTE_OWNED_BY_SAM"));
    ErrorNames.insert(std::make_pair(8347, "ERROR_DS_NAME_TOO_MANY_PARTS"));
    ErrorNames.insert(std::make_pair(8348, "ERROR_DS_NAME_TOO_LONG"));
    ErrorNames.insert(std::make_pair(8349, "ERROR_DS_NAME_VALUE_TOO_LONG"));
    ErrorNames.insert(std::make_pair(8350, "ERROR_DS_NAME_UNPARSEABLE"));
    ErrorNames.insert(std::make_pair(8351, "ERROR_DS_NAME_TYPE_UNKNOWN"));
    ErrorNames.insert(std::make_pair(8352, "ERROR_DS_NOT_AN_OBJECT"));
    ErrorNames.insert(std::make_pair(8353, "ERROR_DS_SEC_DESC_TOO_SHORT"));
    ErrorNames.insert(std::make_pair(8354, "ERROR_DS_SEC_DESC_INVALID"));
    ErrorNames.insert(std::make_pair(8355, "ERROR_DS_NO_DELETED_NAME"));
    ErrorNames.insert(std::make_pair(8356, "ERROR_DS_SUBREF_MUST_HAVE_PARENT"));
    ErrorNames.insert(std::make_pair(8357, "ERROR_DS_NCNAME_MUST_BE_NC"));
    ErrorNames.insert(std::make_pair(8358, "ERROR_DS_CANT_ADD_SYSTEM_ONLY"));
    ErrorNames.insert(std::make_pair(8359, "ERROR_DS_CLASS_MUST_BE_CONCRETE"));
    ErrorNames.insert(std::make_pair(8360, "ERROR_DS_INVALID_DMD"));
    ErrorNames.insert(std::make_pair(8361, "ERROR_DS_OBJ_GUID_EXISTS"));
    ErrorNames.insert(std::make_pair(8362, "ERROR_DS_NOT_ON_BACKLINK"));
    ErrorNames.insert(std::make_pair(8363, "ERROR_DS_NO_CROSSREF_FOR_NC"));
    ErrorNames.insert(std::make_pair(8364, "ERROR_DS_SHUTTING_DOWN"));
    ErrorNames.insert(std::make_pair(8365, "ERROR_DS_UNKNOWN_OPERATION"));
    ErrorNames.insert(std::make_pair(8366, "ERROR_DS_INVALID_ROLE_OWNER"));
    ErrorNames.insert(std::make_pair(8367, "ERROR_DS_COULDNT_CONTACT_FSMO"));
    ErrorNames.insert(std::make_pair(8368, "ERROR_DS_CROSS_NC_DN_RENAME"));
    ErrorNames.insert(std::make_pair(8369, "ERROR_DS_CANT_MOD_SYSTEM_ONLY"));
    ErrorNames.insert(std::make_pair(8370, "ERROR_DS_REPLICATOR_ONLY"));
    ErrorNames.insert(std::make_pair(8371, "ERROR_DS_OBJ_CLASS_NOT_DEFINED"));
    ErrorNames.insert(std::make_pair(8372, "ERROR_DS_OBJ_CLASS_NOT_SUBCLASS"));
    ErrorNames.insert(std::make_pair(8373, "ERROR_DS_NAME_REFERENCE_INVALID"));
    ErrorNames.insert(std::make_pair(8374, "ERROR_DS_CROSS_REF_EXISTS"));
    ErrorNames.insert(std::make_pair(8375, "ERROR_DS_CANT_DEL_MASTER_CROSSREF"));
    ErrorNames.insert(std::make_pair(8376, "ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD"));
    ErrorNames.insert(std::make_pair(8377, "ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX"));
    ErrorNames.insert(std::make_pair(8378, "ERROR_DS_DUP_RDN"));
    ErrorNames.insert(std::make_pair(8379, "ERROR_DS_DUP_OID"));
    ErrorNames.insert(std::make_pair(8380, "ERROR_DS_DUP_MAPI_ID"));
    ErrorNames.insert(std::make_pair(8381, "ERROR_DS_DUP_SCHEMA_ID_GUID"));
    ErrorNames.insert(std::make_pair(8382, "ERROR_DS_DUP_LDAP_DISPLAY_NAME"));
    ErrorNames.insert(std::make_pair(8383, "ERROR_DS_SEMANTIC_ATT_TEST"));
    ErrorNames.insert(std::make_pair(8384, "ERROR_DS_SYNTAX_MISMATCH"));
    ErrorNames.insert(std::make_pair(8385, "ERROR_DS_EXISTS_IN_MUST_HAVE"));
    ErrorNames.insert(std::make_pair(8386, "ERROR_DS_EXISTS_IN_MAY_HAVE"));
    ErrorNames.insert(std::make_pair(8387, "ERROR_DS_NONEXISTENT_MAY_HAVE"));
    ErrorNames.insert(std::make_pair(8388, "ERROR_DS_NONEXISTENT_MUST_HAVE"));
    ErrorNames.insert(std::make_pair(8389, "ERROR_DS_AUX_CLS_TEST_FAIL"));
    ErrorNames.insert(std::make_pair(8390, "ERROR_DS_NONEXISTENT_POSS_SUP"));
    ErrorNames.insert(std::make_pair(8391, "ERROR_DS_SUB_CLS_TEST_FAIL"));
    ErrorNames.insert(std::make_pair(8392, "ERROR_DS_BAD_RDN_ATT_ID_SYNTAX"));
    ErrorNames.insert(std::make_pair(8393, "ERROR_DS_EXISTS_IN_AUX_CLS"));
    ErrorNames.insert(std::make_pair(8394, "ERROR_DS_EXISTS_IN_SUB_CLS"));
    ErrorNames.insert(std::make_pair(8395, "ERROR_DS_EXISTS_IN_POSS_SUP"));
    ErrorNames.insert(std::make_pair(8396, "ERROR_DS_RECALCSCHEMA_FAILED"));
    ErrorNames.insert(std::make_pair(8397, "ERROR_DS_TREE_DELETE_NOT_FINISHED"));
    ErrorNames.insert(std::make_pair(8398, "ERROR_DS_CANT_DELETE"));
    ErrorNames.insert(std::make_pair(8399, "ERROR_DS_ATT_SCHEMA_REQ_ID"));
    ErrorNames.insert(std::make_pair(8400, "ERROR_DS_BAD_ATT_SCHEMA_SYNTAX"));
    ErrorNames.insert(std::make_pair(8401, "ERROR_DS_CANT_CACHE_ATT"));
    ErrorNames.insert(std::make_pair(8402, "ERROR_DS_CANT_CACHE_CLASS"));
    ErrorNames.insert(std::make_pair(8403, "ERROR_DS_CANT_REMOVE_ATT_CACHE"));
    ErrorNames.insert(std::make_pair(8404, "ERROR_DS_CANT_REMOVE_CLASS_CACHE"));
    ErrorNames.insert(std::make_pair(8405, "ERROR_DS_CANT_RETRIEVE_DN"));
    ErrorNames.insert(std::make_pair(8406, "ERROR_DS_MISSING_SUPREF"));
    ErrorNames.insert(std::make_pair(8407, "ERROR_DS_CANT_RETRIEVE_INSTANCE"));
    ErrorNames.insert(std::make_pair(8408, "ERROR_DS_CODE_INCONSISTENCY"));
    ErrorNames.insert(std::make_pair(8409, "ERROR_DS_DATABASE_ERROR"));
    ErrorNames.insert(std::make_pair(8410, "ERROR_DS_GOVERNSID_MISSING"));
    ErrorNames.insert(std::make_pair(8411, "ERROR_DS_MISSING_EXPECTED_ATT"));
    ErrorNames.insert(std::make_pair(8412, "ERROR_DS_NCNAME_MISSING_CR_REF"));
    ErrorNames.insert(std::make_pair(8413, "ERROR_DS_SECURITY_CHECKING_ERROR"));
    ErrorNames.insert(std::make_pair(8414, "ERROR_DS_SCHEMA_NOT_LOADED"));
    ErrorNames.insert(std::make_pair(8415, "ERROR_DS_SCHEMA_ALLOC_FAILED"));
    ErrorNames.insert(std::make_pair(8416, "ERROR_DS_ATT_SCHEMA_REQ_SYNTAX"));
    ErrorNames.insert(std::make_pair(8417, "ERROR_DS_GCVERIFY_ERROR"));
    ErrorNames.insert(std::make_pair(8418, "ERROR_DS_DRA_SCHEMA_MISMATCH"));
    ErrorNames.insert(std::make_pair(8419, "ERROR_DS_CANT_FIND_DSA_OBJ"));
    ErrorNames.insert(std::make_pair(8420, "ERROR_DS_CANT_FIND_EXPECTED_NC"));
    ErrorNames.insert(std::make_pair(8421, "ERROR_DS_CANT_FIND_NC_IN_CACHE"));
    ErrorNames.insert(std::make_pair(8422, "ERROR_DS_CANT_RETRIEVE_CHILD"));
    ErrorNames.insert(std::make_pair(8423, "ERROR_DS_SECURITY_ILLEGAL_MODIFY"));
    ErrorNames.insert(std::make_pair(8424, "ERROR_DS_CANT_REPLACE_HIDDEN_REC"));
    ErrorNames.insert(std::make_pair(8425, "ERROR_DS_BAD_HIERARCHY_FILE"));
    ErrorNames.insert(std::make_pair(8426, "ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED"));
    ErrorNames.insert(std::make_pair(8427, "ERROR_DS_CONFIG_PARAM_MISSING"));
    ErrorNames.insert(std::make_pair(8428, "ERROR_DS_COUNTING_AB_INDICES_FAILED"));
    ErrorNames.insert(std::make_pair(8429, "ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED"));
    ErrorNames.insert(std::make_pair(8430, "ERROR_DS_INTERNAL_FAILURE"));
    ErrorNames.insert(std::make_pair(8431, "ERROR_DS_UNKNOWN_ERROR"));
    ErrorNames.insert(std::make_pair(8432, "ERROR_DS_ROOT_REQUIRES_CLASS_TOP"));
    ErrorNames.insert(std::make_pair(8433, "ERROR_DS_REFUSING_FSMO_ROLES"));
    ErrorNames.insert(std::make_pair(8434, "ERROR_DS_MISSING_FSMO_SETTINGS"));
    ErrorNames.insert(std::make_pair(8435, "ERROR_DS_UNABLE_TO_SURRENDER_ROLES"));
    ErrorNames.insert(std::make_pair(8436, "ERROR_DS_DRA_GENERIC"));
    ErrorNames.insert(std::make_pair(8437, "ERROR_DS_DRA_INVALID_PARAMETER"));
    ErrorNames.insert(std::make_pair(8438, "ERROR_DS_DRA_BUSY"));
    ErrorNames.insert(std::make_pair(8439, "ERROR_DS_DRA_BAD_DN"));
    ErrorNames.insert(std::make_pair(8440, "ERROR_DS_DRA_BAD_NC"));
    ErrorNames.insert(std::make_pair(8441, "ERROR_DS_DRA_DN_EXISTS"));
    ErrorNames.insert(std::make_pair(8442, "ERROR_DS_DRA_INTERNAL_ERROR"));
    ErrorNames.insert(std::make_pair(8443, "ERROR_DS_DRA_INCONSISTENT_DIT"));
    ErrorNames.insert(std::make_pair(8444, "ERROR_DS_DRA_CONNECTION_FAILED"));
    ErrorNames.insert(std::make_pair(8445, "ERROR_DS_DRA_BAD_INSTANCE_TYPE"));
    ErrorNames.insert(std::make_pair(8446, "ERROR_DS_DRA_OUT_OF_MEM"));
    ErrorNames.insert(std::make_pair(8447, "ERROR_DS_DRA_MAIL_PROBLEM"));
    ErrorNames.insert(std::make_pair(8448, "ERROR_DS_DRA_REF_ALREADY_EXISTS"));
    ErrorNames.insert(std::make_pair(8449, "ERROR_DS_DRA_REF_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(8450, "ERROR_DS_DRA_OBJ_IS_REP_SOURCE"));
    ErrorNames.insert(std::make_pair(8451, "ERROR_DS_DRA_DB_ERROR"));
    ErrorNames.insert(std::make_pair(8452, "ERROR_DS_DRA_NO_REPLICA"));
    ErrorNames.insert(std::make_pair(8453, "ERROR_DS_DRA_ACCESS_DENIED"));
    ErrorNames.insert(std::make_pair(8454, "ERROR_DS_DRA_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(8455, "ERROR_DS_DRA_RPC_CANCELLED"));
    ErrorNames.insert(std::make_pair(8456, "ERROR_DS_DRA_SOURCE_DISABLED"));
    ErrorNames.insert(std::make_pair(8457, "ERROR_DS_DRA_SINK_DISABLED"));
    ErrorNames.insert(std::make_pair(8458, "ERROR_DS_DRA_NAME_COLLISION"));
    ErrorNames.insert(std::make_pair(8459, "ERROR_DS_DRA_SOURCE_REINSTALLED"));
    ErrorNames.insert(std::make_pair(8460, "ERROR_DS_DRA_MISSING_PARENT"));
    ErrorNames.insert(std::make_pair(8461, "ERROR_DS_DRA_PREEMPTED"));
    ErrorNames.insert(std::make_pair(8462, "ERROR_DS_DRA_ABANDON_SYNC"));
    ErrorNames.insert(std::make_pair(8463, "ERROR_DS_DRA_SHUTDOWN"));
    ErrorNames.insert(std::make_pair(8464, "ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET"));
    ErrorNames.insert(std::make_pair(8465, "ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA"));
    ErrorNames.insert(std::make_pair(8466, "ERROR_DS_DRA_EXTN_CONNECTION_FAILED"));
    ErrorNames.insert(std::make_pair(8467, "ERROR_DS_INSTALL_SCHEMA_MISMATCH"));
    ErrorNames.insert(std::make_pair(8468, "ERROR_DS_DUP_LINK_ID"));
    ErrorNames.insert(std::make_pair(8469, "ERROR_DS_NAME_ERROR_RESOLVING"));
    ErrorNames.insert(std::make_pair(8470, "ERROR_DS_NAME_ERROR_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(8471, "ERROR_DS_NAME_ERROR_NOT_UNIQUE"));
    ErrorNames.insert(std::make_pair(8472, "ERROR_DS_NAME_ERROR_NO_MAPPING"));
    ErrorNames.insert(std::make_pair(8473, "ERROR_DS_NAME_ERROR_DOMAIN_ONLY"));
    ErrorNames.insert(std::make_pair(8474, "ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING"));
    ErrorNames.insert(std::make_pair(8475, "ERROR_DS_CONSTRUCTED_ATT_MOD"));
    ErrorNames.insert(std::make_pair(8476, "ERROR_DS_WRONG_OM_OBJ_CLASS"));
    ErrorNames.insert(std::make_pair(8477, "ERROR_DS_DRA_REPL_PENDING"));
    ErrorNames.insert(std::make_pair(8478, "ERROR_DS_DS_REQUIRED"));
    ErrorNames.insert(std::make_pair(8479, "ERROR_DS_INVALID_LDAP_DISPLAY_NAME"));
    ErrorNames.insert(std::make_pair(8480, "ERROR_DS_NON_BASE_SEARCH"));
    ErrorNames.insert(std::make_pair(8481, "ERROR_DS_CANT_RETRIEVE_ATTS"));
    ErrorNames.insert(std::make_pair(8482, "ERROR_DS_BACKLINK_WITHOUT_LINK"));
    ErrorNames.insert(std::make_pair(8483, "ERROR_DS_EPOCH_MISMATCH"));
    ErrorNames.insert(std::make_pair(8484, "ERROR_DS_SRC_NAME_MISMATCH"));
    ErrorNames.insert(std::make_pair(8485, "ERROR_DS_SRC_AND_DST_NC_IDENTICAL"));
    ErrorNames.insert(std::make_pair(8486, "ERROR_DS_DST_NC_MISMATCH"));
    ErrorNames.insert(std::make_pair(8487, "ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC"));
    ErrorNames.insert(std::make_pair(8488, "ERROR_DS_SRC_GUID_MISMATCH"));
    ErrorNames.insert(std::make_pair(8489, "ERROR_DS_CANT_MOVE_DELETED_OBJECT"));
    ErrorNames.insert(std::make_pair(8490, "ERROR_DS_PDC_OPERATION_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(8491, "ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD"));
    ErrorNames.insert(std::make_pair(8492, "ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION"));
    ErrorNames.insert(std::make_pair(8493, "ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS"));
    ErrorNames.insert(std::make_pair(8494, "ERROR_DS_NC_MUST_HAVE_NC_PARENT"));
    ErrorNames.insert(std::make_pair(8495, "ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE"));
    ErrorNames.insert(std::make_pair(8496, "ERROR_DS_DST_DOMAIN_NOT_NATIVE"));
    ErrorNames.insert(std::make_pair(8497, "ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER"));
    ErrorNames.insert(std::make_pair(8498, "ERROR_DS_CANT_MOVE_ACCOUNT_GROUP"));
    ErrorNames.insert(std::make_pair(8499, "ERROR_DS_CANT_MOVE_RESOURCE_GROUP"));
    ErrorNames.insert(std::make_pair(8500, "ERROR_DS_INVALID_SEARCH_FLAG"));
    ErrorNames.insert(std::make_pair(8501, "ERROR_DS_NO_TREE_DELETE_ABOVE_NC"));
    ErrorNames.insert(std::make_pair(8502, "ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE"));
    ErrorNames.insert(std::make_pair(8503, "ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE"));
    ErrorNames.insert(std::make_pair(8504, "ERROR_DS_SAM_INIT_FAILURE"));
    ErrorNames.insert(std::make_pair(8505, "ERROR_DS_SENSITIVE_GROUP_VIOLATION"));
    ErrorNames.insert(std::make_pair(8506, "ERROR_DS_CANT_MOD_PRIMARYGROUPID"));
    ErrorNames.insert(std::make_pair(8507, "ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD"));
    ErrorNames.insert(std::make_pair(8508, "ERROR_DS_NONSAFE_SCHEMA_CHANGE"));
    ErrorNames.insert(std::make_pair(8509, "ERROR_DS_SCHEMA_UPDATE_DISALLOWED"));
    ErrorNames.insert(std::make_pair(8510, "ERROR_DS_CANT_CREATE_UNDER_SCHEMA"));
    ErrorNames.insert(std::make_pair(8511, "ERROR_DS_INSTALL_NO_SRC_SCH_VERSION"));
    ErrorNames.insert(std::make_pair(8512, "ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE"));
    ErrorNames.insert(std::make_pair(8513, "ERROR_DS_INVALID_GROUP_TYPE"));
    ErrorNames.insert(std::make_pair(8514, "ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN"));
    ErrorNames.insert(std::make_pair(8515, "ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN"));
    ErrorNames.insert(std::make_pair(8516, "ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER"));
    ErrorNames.insert(std::make_pair(8517, "ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER"));
    ErrorNames.insert(std::make_pair(8518, "ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER"));
    ErrorNames.insert(std::make_pair(8519, "ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER"));
    ErrorNames.insert(std::make_pair(8520, "ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER"));
    ErrorNames.insert(std::make_pair(8521, "ERROR_DS_HAVE_PRIMARY_MEMBERS"));
    ErrorNames.insert(std::make_pair(8522, "ERROR_DS_STRING_SD_CONVERSION_FAILED"));
    ErrorNames.insert(std::make_pair(8523, "ERROR_DS_NAMING_MASTER_GC"));
    ErrorNames.insert(std::make_pair(8524, "ERROR_DS_DNS_LOOKUP_FAILURE"));
    ErrorNames.insert(std::make_pair(8525, "ERROR_DS_COULDNT_UPDATE_SPNS"));
    ErrorNames.insert(std::make_pair(8526, "ERROR_DS_CANT_RETRIEVE_SD"));
    ErrorNames.insert(std::make_pair(8527, "ERROR_DS_KEY_NOT_UNIQUE"));
    ErrorNames.insert(std::make_pair(8528, "ERROR_DS_WRONG_LINKED_ATT_SYNTAX"));
    ErrorNames.insert(std::make_pair(8529, "ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD"));
    ErrorNames.insert(std::make_pair(8530, "ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY"));
    ErrorNames.insert(std::make_pair(8531, "ERROR_DS_CANT_START"));
    ErrorNames.insert(std::make_pair(8532, "ERROR_DS_INIT_FAILURE"));
    ErrorNames.insert(std::make_pair(8533, "ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION"));
    ErrorNames.insert(std::make_pair(8534, "ERROR_DS_SOURCE_DOMAIN_IN_FOREST"));
    ErrorNames.insert(std::make_pair(8535, "ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST"));
    ErrorNames.insert(std::make_pair(8536, "ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED"));
    ErrorNames.insert(std::make_pair(8537, "ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN"));
    ErrorNames.insert(std::make_pair(8538, "ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER"));
    ErrorNames.insert(std::make_pair(8539, "ERROR_DS_SRC_SID_EXISTS_IN_FOREST"));
    ErrorNames.insert(std::make_pair(8540, "ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH"));
    ErrorNames.insert(std::make_pair(8541, "ERROR_SAM_INIT_FAILURE"));
    ErrorNames.insert(std::make_pair(8542, "ERROR_DS_DRA_SCHEMA_INFO_SHIP"));
    ErrorNames.insert(std::make_pair(8543, "ERROR_DS_DRA_SCHEMA_CONFLICT"));
    ErrorNames.insert(std::make_pair(8544, "ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT"));
    ErrorNames.insert(std::make_pair(8545, "ERROR_DS_DRA_OBJ_NC_MISMATCH"));
    ErrorNames.insert(std::make_pair(8546, "ERROR_DS_NC_STILL_HAS_DSAS"));
    ErrorNames.insert(std::make_pair(8547, "ERROR_DS_GC_REQUIRED"));
    ErrorNames.insert(std::make_pair(8548, "ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY"));
    ErrorNames.insert(std::make_pair(8549, "ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS"));
    ErrorNames.insert(std::make_pair(8550, "ERROR_DS_CANT_ADD_TO_GC"));
    ErrorNames.insert(std::make_pair(8551, "ERROR_DS_NO_CHECKPOINT_WITH_PDC"));
    ErrorNames.insert(std::make_pair(8552, "ERROR_DS_SOURCE_AUDITING_NOT_ENABLED"));
    ErrorNames.insert(std::make_pair(8553, "ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC"));
    ErrorNames.insert(std::make_pair(8554, "ERROR_DS_INVALID_NAME_FOR_SPN"));
    ErrorNames.insert(std::make_pair(8555, "ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS"));
    ErrorNames.insert(std::make_pair(8556, "ERROR_DS_UNICODEPWD_NOT_IN_QUOTES"));
    ErrorNames.insert(std::make_pair(8557, "ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED"));
    ErrorNames.insert(std::make_pair(8558, "ERROR_DS_MUST_BE_RUN_ON_DST_DC"));
    ErrorNames.insert(std::make_pair(8559, "ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER"));
    ErrorNames.insert(std::make_pair(8560, "ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ"));
    ErrorNames.insert(std::make_pair(8561, "ERROR_DS_INIT_FAILURE_CONSOLE"));
    ErrorNames.insert(std::make_pair(8562, "ERROR_DS_SAM_INIT_FAILURE_CONSOLE"));
    ErrorNames.insert(std::make_pair(8563, "ERROR_DS_FOREST_VERSION_TOO_HIGH"));
    ErrorNames.insert(std::make_pair(8564, "ERROR_DS_DOMAIN_VERSION_TOO_HIGH"));
    ErrorNames.insert(std::make_pair(8565, "ERROR_DS_FOREST_VERSION_TOO_LOW"));
    ErrorNames.insert(std::make_pair(8566, "ERROR_DS_DOMAIN_VERSION_TOO_LOW"));
    ErrorNames.insert(std::make_pair(8567, "ERROR_DS_INCOMPATIBLE_VERSION"));
    ErrorNames.insert(std::make_pair(8568, "ERROR_DS_LOW_DSA_VERSION"));
    ErrorNames.insert(std::make_pair(8569, "ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN"));
    ErrorNames.insert(std::make_pair(8570, "ERROR_DS_NOT_SUPPORTED_SORT_ORDER"));
    ErrorNames.insert(std::make_pair(8571, "ERROR_DS_NAME_NOT_UNIQUE"));
    ErrorNames.insert(std::make_pair(8572, "ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4"));
    ErrorNames.insert(std::make_pair(8573, "ERROR_DS_OUT_OF_VERSION_STORE"));
    ErrorNames.insert(std::make_pair(8574, "ERROR_DS_INCOMPATIBLE_CONTROLS_USED"));
    ErrorNames.insert(std::make_pair(8575, "ERROR_DS_NO_REF_DOMAIN"));
    ErrorNames.insert(std::make_pair(8576, "ERROR_DS_RESERVED_LINK_ID"));
    ErrorNames.insert(std::make_pair(8577, "ERROR_DS_LINK_ID_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(8578, "ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER"));
    ErrorNames.insert(std::make_pair(8579, "ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE"));
    ErrorNames.insert(std::make_pair(8580, "ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC"));
    ErrorNames.insert(std::make_pair(8581, "ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG"));
    ErrorNames.insert(std::make_pair(8582, "ERROR_DS_MODIFYDN_WRONG_GRANDPARENT"));
    ErrorNames.insert(std::make_pair(8583, "ERROR_DS_NAME_ERROR_TRUST_REFERRAL"));
    ErrorNames.insert(std::make_pair(8584, "ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER"));
    ErrorNames.insert(std::make_pair(8585, "ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD"));
    ErrorNames.insert(std::make_pair(8586, "ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2"));
    ErrorNames.insert(std::make_pair(8587, "ERROR_DS_THREAD_LIMIT_EXCEEDED"));
    ErrorNames.insert(std::make_pair(8588, "ERROR_DS_NOT_CLOSEST"));
    ErrorNames.insert(std::make_pair(8589, "ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF"));
    ErrorNames.insert(std::make_pair(8590, "ERROR_DS_SINGLE_USER_MODE_FAILED"));
    ErrorNames.insert(std::make_pair(8591, "ERROR_DS_NTDSCRIPT_SYNTAX_ERROR"));
    ErrorNames.insert(std::make_pair(8592, "ERROR_DS_NTDSCRIPT_PROCESS_ERROR"));
    ErrorNames.insert(std::make_pair(8593, "ERROR_DS_DIFFERENT_REPL_EPOCHS"));
    ErrorNames.insert(std::make_pair(8594, "ERROR_DS_DRS_EXTENSIONS_CHANGED"));
    ErrorNames.insert(std::make_pair(8595, "ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR"));
    ErrorNames.insert(std::make_pair(8596, "ERROR_DS_NO_MSDS_INTID"));
    ErrorNames.insert(std::make_pair(8597, "ERROR_DS_DUP_MSDS_INTID"));
    ErrorNames.insert(std::make_pair(8598, "ERROR_DS_EXISTS_IN_RDNATTID"));
    ErrorNames.insert(std::make_pair(8599, "ERROR_DS_AUTHORIZATION_FAILED"));
    ErrorNames.insert(std::make_pair(8600, "ERROR_DS_INVALID_SCRIPT"));
    ErrorNames.insert(std::make_pair(8601, "ERROR_DS_REMOTE_CROSSREF_OP_FAILED"));
    ErrorNames.insert(std::make_pair(8602, "ERROR_DS_CROSS_REF_BUSY"));
    ErrorNames.insert(std::make_pair(8603, "ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN"));
    ErrorNames.insert(std::make_pair(8604, "ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC"));
    ErrorNames.insert(std::make_pair(8605, "ERROR_DS_DUPLICATE_ID_FOUND"));
    ErrorNames.insert(std::make_pair(8606, "ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT"));
    ErrorNames.insert(std::make_pair(8607, "ERROR_DS_GROUP_CONVERSION_ERROR"));
    ErrorNames.insert(std::make_pair(8608, "ERROR_DS_CANT_MOVE_APP_BASIC_GROUP"));
    ErrorNames.insert(std::make_pair(8609, "ERROR_DS_CANT_MOVE_APP_QUERY_GROUP"));
    ErrorNames.insert(std::make_pair(8610, "ERROR_DS_ROLE_NOT_VERIFIED"));
    ErrorNames.insert(std::make_pair(8611, "ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL"));
    ErrorNames.insert(std::make_pair(8612, "ERROR_DS_DOMAIN_RENAME_IN_PROGRESS"));
    ErrorNames.insert(std::make_pair(8613, "ERROR_DS_EXISTING_AD_CHILD_NC"));
    ErrorNames.insert(std::make_pair(8614, "ERROR_DS_REPL_LIFETIME_EXCEEDED"));
    ErrorNames.insert(std::make_pair(8615, "ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER"));
    ErrorNames.insert(std::make_pair(8616, "ERROR_DS_LDAP_SEND_QUEUE_FULL"));
    ErrorNames.insert(std::make_pair(8617, "ERROR_DS_DRA_OUT_SCHEDULE_WINDOW"));
    ErrorNames.insert(std::make_pair(8618, "ERROR_DS_POLICY_NOT_KNOWN"));
    ErrorNames.insert(std::make_pair(8619, "ERROR_NO_SITE_SETTINGS_OBJECT"));
    ErrorNames.insert(std::make_pair(8620, "ERROR_NO_SECRETS"));
    ErrorNames.insert(std::make_pair(8621, "ERROR_NO_WRITABLE_DC_FOUND"));
    ErrorNames.insert(std::make_pair(8622, "ERROR_DS_NO_SERVER_OBJECT"));
    ErrorNames.insert(std::make_pair(8623, "ERROR_DS_NO_NTDSA_OBJECT"));
    ErrorNames.insert(std::make_pair(8624, "ERROR_DS_NON_ASQ_SEARCH"));
    ErrorNames.insert(std::make_pair(8625, "ERROR_DS_AUDIT_FAILURE"));
    ErrorNames.insert(std::make_pair(8626, "ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE"));
    ErrorNames.insert(std::make_pair(8627, "ERROR_DS_INVALID_SEARCH_FLAG_TUPLE"));
    ErrorNames.insert(std::make_pair(8628, "ERROR_DS_HIERARCHY_TABLE_TOO_DEEP"));
    ErrorNames.insert(std::make_pair(8629, "ERROR_DS_DRA_CORRUPT_UTD_VECTOR"));
    ErrorNames.insert(std::make_pair(8630, "ERROR_DS_DRA_SECRETS_DENIED"));
    ErrorNames.insert(std::make_pair(8631, "ERROR_DS_RESERVED_MAPI_ID"));
    ErrorNames.insert(std::make_pair(8632, "ERROR_DS_MAPI_ID_NOT_AVAILABLE"));
    ErrorNames.insert(std::make_pair(8633, "ERROR_DS_DRA_MISSING_KRBTGT_SECRET"));
    ErrorNames.insert(std::make_pair(8634, "ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST"));
    ErrorNames.insert(std::make_pair(8635, "ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST"));
    ErrorNames.insert(std::make_pair(8636, "ERROR_INVALID_USER_PRINCIPAL_NAME"));
    ErrorNames.insert(std::make_pair(8637, "ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS"));
    ErrorNames.insert(std::make_pair(8638, "ERROR_DS_OID_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(8639, "ERROR_DS_DRA_RECYCLED_TARGET"));
    ErrorNames.insert(std::make_pair(13000, "ERROR_IPSEC_QM_POLICY_EXISTS"));
    ErrorNames.insert(std::make_pair(13001, "ERROR_IPSEC_QM_POLICY_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(13002, "ERROR_IPSEC_QM_POLICY_IN_USE"));
    ErrorNames.insert(std::make_pair(13003, "ERROR_IPSEC_MM_POLICY_EXISTS"));
    ErrorNames.insert(std::make_pair(13004, "ERROR_IPSEC_MM_POLICY_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(13005, "ERROR_IPSEC_MM_POLICY_IN_USE"));
    ErrorNames.insert(std::make_pair(13006, "ERROR_IPSEC_MM_FILTER_EXISTS"));
    ErrorNames.insert(std::make_pair(13007, "ERROR_IPSEC_MM_FILTER_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(13008, "ERROR_IPSEC_TRANSPORT_FILTER_EXISTS"));
    ErrorNames.insert(std::make_pair(13009, "ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(13010, "ERROR_IPSEC_MM_AUTH_EXISTS"));
    ErrorNames.insert(std::make_pair(13011, "ERROR_IPSEC_MM_AUTH_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(13012, "ERROR_IPSEC_MM_AUTH_IN_USE"));
    ErrorNames.insert(std::make_pair(13013, "ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(13014, "ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(13015, "ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(13016, "ERROR_IPSEC_TUNNEL_FILTER_EXISTS"));
    ErrorNames.insert(std::make_pair(13017, "ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(13018, "ERROR_IPSEC_MM_FILTER_PENDING_DELETION"));
    ErrorNames.insert(std::make_pair(13019, "ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION"));
    ErrorNames.insert(std::make_pair(13020, "ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION"));
    ErrorNames.insert(std::make_pair(13021, "ERROR_IPSEC_MM_POLICY_PENDING_DELETION"));
    ErrorNames.insert(std::make_pair(13022, "ERROR_IPSEC_MM_AUTH_PENDING_DELETION"));
    ErrorNames.insert(std::make_pair(13023, "ERROR_IPSEC_QM_POLICY_PENDING_DELETION"));
    ErrorNames.insert(std::make_pair(13800, "ERROR_IPSEC_IKE_NEG_STATUS_BEGIN"));
    ErrorNames.insert(std::make_pair(13801, "ERROR_IPSEC_IKE_AUTH_FAIL"));
    ErrorNames.insert(std::make_pair(13802, "ERROR_IPSEC_IKE_ATTRIB_FAIL"));
    ErrorNames.insert(std::make_pair(13803, "ERROR_IPSEC_IKE_NEGOTIATION_PENDING"));
    ErrorNames.insert(std::make_pair(13804, "ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR"));
    ErrorNames.insert(std::make_pair(13805, "ERROR_IPSEC_IKE_TIMED_OUT"));
    ErrorNames.insert(std::make_pair(13806, "ERROR_IPSEC_IKE_NO_CERT"));
    ErrorNames.insert(std::make_pair(13807, "ERROR_IPSEC_IKE_SA_DELETED"));
    ErrorNames.insert(std::make_pair(13808, "ERROR_IPSEC_IKE_SA_REAPED"));
    ErrorNames.insert(std::make_pair(13809, "ERROR_IPSEC_IKE_MM_ACQUIRE_DROP"));
    ErrorNames.insert(std::make_pair(13810, "ERROR_IPSEC_IKE_QM_ACQUIRE_DROP"));
    ErrorNames.insert(std::make_pair(13811, "ERROR_IPSEC_IKE_QUEUE_DROP_MM"));
    ErrorNames.insert(std::make_pair(13812, "ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM"));
    ErrorNames.insert(std::make_pair(13813, "ERROR_IPSEC_IKE_DROP_NO_RESPONSE"));
    ErrorNames.insert(std::make_pair(13814, "ERROR_IPSEC_IKE_MM_DELAY_DROP"));
    ErrorNames.insert(std::make_pair(13815, "ERROR_IPSEC_IKE_QM_DELAY_DROP"));
    ErrorNames.insert(std::make_pair(13816, "ERROR_IPSEC_IKE_ERROR"));
    ErrorNames.insert(std::make_pair(13817, "ERROR_IPSEC_IKE_CRL_FAILED"));
    ErrorNames.insert(std::make_pair(13818, "ERROR_IPSEC_IKE_INVALID_KEY_USAGE"));
    ErrorNames.insert(std::make_pair(13819, "ERROR_IPSEC_IKE_INVALID_CERT_TYPE"));
    ErrorNames.insert(std::make_pair(13820, "ERROR_IPSEC_IKE_NO_PRIVATE_KEY"));
    ErrorNames.insert(std::make_pair(13821, "ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY"));
    ErrorNames.insert(std::make_pair(13822, "ERROR_IPSEC_IKE_DH_FAIL"));
    ErrorNames.insert(std::make_pair(13823, "ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED"));
    ErrorNames.insert(std::make_pair(13824, "ERROR_IPSEC_IKE_INVALID_HEADER"));
    ErrorNames.insert(std::make_pair(13825, "ERROR_IPSEC_IKE_NO_POLICY"));
    ErrorNames.insert(std::make_pair(13826, "ERROR_IPSEC_IKE_INVALID_SIGNATURE"));
    ErrorNames.insert(std::make_pair(13827, "ERROR_IPSEC_IKE_KERBEROS_ERROR"));
    ErrorNames.insert(std::make_pair(13828, "ERROR_IPSEC_IKE_NO_PUBLIC_KEY"));
    ErrorNames.insert(std::make_pair(13829, "ERROR_IPSEC_IKE_PROCESS_ERR"));
    ErrorNames.insert(std::make_pair(13830, "ERROR_IPSEC_IKE_PROCESS_ERR_SA"));
    ErrorNames.insert(std::make_pair(13831, "ERROR_IPSEC_IKE_PROCESS_ERR_PROP"));
    ErrorNames.insert(std::make_pair(13832, "ERROR_IPSEC_IKE_PROCESS_ERR_TRANS"));
    ErrorNames.insert(std::make_pair(13833, "ERROR_IPSEC_IKE_PROCESS_ERR_KE"));
    ErrorNames.insert(std::make_pair(13834, "ERROR_IPSEC_IKE_PROCESS_ERR_ID"));
    ErrorNames.insert(std::make_pair(13835, "ERROR_IPSEC_IKE_PROCESS_ERR_CERT"));
    ErrorNames.insert(std::make_pair(13836, "ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ"));
    ErrorNames.insert(std::make_pair(13837, "ERROR_IPSEC_IKE_PROCESS_ERR_HASH"));
    ErrorNames.insert(std::make_pair(13838, "ERROR_IPSEC_IKE_PROCESS_ERR_SIG"));
    ErrorNames.insert(std::make_pair(13839, "ERROR_IPSEC_IKE_PROCESS_ERR_NONCE"));
    ErrorNames.insert(std::make_pair(13840, "ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY"));
    ErrorNames.insert(std::make_pair(13841, "ERROR_IPSEC_IKE_PROCESS_ERR_DELETE"));
    ErrorNames.insert(std::make_pair(13842, "ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR"));
    ErrorNames.insert(std::make_pair(13843, "ERROR_IPSEC_IKE_INVALID_PAYLOAD"));
    ErrorNames.insert(std::make_pair(13844, "ERROR_IPSEC_IKE_LOAD_SOFT_SA"));
    ErrorNames.insert(std::make_pair(13845, "ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN"));
    ErrorNames.insert(std::make_pair(13846, "ERROR_IPSEC_IKE_INVALID_COOKIE"));
    ErrorNames.insert(std::make_pair(13847, "ERROR_IPSEC_IKE_NO_PEER_CERT"));
    ErrorNames.insert(std::make_pair(13848, "ERROR_IPSEC_IKE_PEER_CRL_FAILED"));
    ErrorNames.insert(std::make_pair(13849, "ERROR_IPSEC_IKE_POLICY_CHANGE"));
    ErrorNames.insert(std::make_pair(13850, "ERROR_IPSEC_IKE_NO_MM_POLICY"));
    ErrorNames.insert(std::make_pair(13851, "ERROR_IPSEC_IKE_NOTCBPRIV"));
    ErrorNames.insert(std::make_pair(13852, "ERROR_IPSEC_IKE_SECLOADFAIL"));
    ErrorNames.insert(std::make_pair(13853, "ERROR_IPSEC_IKE_FAILSSPINIT"));
    ErrorNames.insert(std::make_pair(13854, "ERROR_IPSEC_IKE_FAILQUERYSSP"));
    ErrorNames.insert(std::make_pair(13855, "ERROR_IPSEC_IKE_SRVACQFAIL"));
    ErrorNames.insert(std::make_pair(13856, "ERROR_IPSEC_IKE_SRVQUERYCRED"));
    ErrorNames.insert(std::make_pair(13857, "ERROR_IPSEC_IKE_GETSPIFAIL"));
    ErrorNames.insert(std::make_pair(13858, "ERROR_IPSEC_IKE_INVALID_FILTER"));
    ErrorNames.insert(std::make_pair(13859, "ERROR_IPSEC_IKE_OUT_OF_MEMORY"));
    ErrorNames.insert(std::make_pair(13860, "ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED"));
    ErrorNames.insert(std::make_pair(13861, "ERROR_IPSEC_IKE_INVALID_POLICY"));
    ErrorNames.insert(std::make_pair(13862, "ERROR_IPSEC_IKE_UNKNOWN_DOI"));
    ErrorNames.insert(std::make_pair(13863, "ERROR_IPSEC_IKE_INVALID_SITUATION"));
    ErrorNames.insert(std::make_pair(13864, "ERROR_IPSEC_IKE_DH_FAILURE"));
    ErrorNames.insert(std::make_pair(13865, "ERROR_IPSEC_IKE_INVALID_GROUP"));
    ErrorNames.insert(std::make_pair(13866, "ERROR_IPSEC_IKE_ENCRYPT"));
    ErrorNames.insert(std::make_pair(13867, "ERROR_IPSEC_IKE_DECRYPT"));
    ErrorNames.insert(std::make_pair(13868, "ERROR_IPSEC_IKE_POLICY_MATCH"));
    ErrorNames.insert(std::make_pair(13869, "ERROR_IPSEC_IKE_UNSUPPORTED_ID"));
    ErrorNames.insert(std::make_pair(13870, "ERROR_IPSEC_IKE_INVALID_HASH"));
    ErrorNames.insert(std::make_pair(13871, "ERROR_IPSEC_IKE_INVALID_HASH_ALG"));
    ErrorNames.insert(std::make_pair(13872, "ERROR_IPSEC_IKE_INVALID_HASH_SIZE"));
    ErrorNames.insert(std::make_pair(13873, "ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG"));
    ErrorNames.insert(std::make_pair(13874, "ERROR_IPSEC_IKE_INVALID_AUTH_ALG"));
    ErrorNames.insert(std::make_pair(13875, "ERROR_IPSEC_IKE_INVALID_SIG"));
    ErrorNames.insert(std::make_pair(13876, "ERROR_IPSEC_IKE_LOAD_FAILED"));
    ErrorNames.insert(std::make_pair(13877, "ERROR_IPSEC_IKE_RPC_DELETE"));
    ErrorNames.insert(std::make_pair(13878, "ERROR_IPSEC_IKE_BENIGN_REINIT"));
    ErrorNames.insert(std::make_pair(13879, "ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY"));
    ErrorNames.insert(std::make_pair(13880, "ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION"));
    ErrorNames.insert(std::make_pair(13881, "ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN"));
    ErrorNames.insert(std::make_pair(13882, "ERROR_IPSEC_IKE_MM_LIMIT"));
    ErrorNames.insert(std::make_pair(13883, "ERROR_IPSEC_IKE_NEGOTIATION_DISABLED"));
    ErrorNames.insert(std::make_pair(13884, "ERROR_IPSEC_IKE_QM_LIMIT"));
    ErrorNames.insert(std::make_pair(13885, "ERROR_IPSEC_IKE_MM_EXPIRED"));
    ErrorNames.insert(std::make_pair(13886, "ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID"));
    ErrorNames.insert(std::make_pair(13887, "ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH"));
    ErrorNames.insert(std::make_pair(13888, "ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID"));
    ErrorNames.insert(std::make_pair(13889, "ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD"));
    ErrorNames.insert(std::make_pair(13890, "ERROR_IPSEC_IKE_DOS_COOKIE_SENT"));
    ErrorNames.insert(std::make_pair(13891, "ERROR_IPSEC_IKE_SHUTTING_DOWN"));
    ErrorNames.insert(std::make_pair(13892, "ERROR_IPSEC_IKE_CGA_AUTH_FAILED"));
    ErrorNames.insert(std::make_pair(13893, "ERROR_IPSEC_IKE_PROCESS_ERR_NATOA"));
    ErrorNames.insert(std::make_pair(13894, "ERROR_IPSEC_IKE_INVALID_MM_FOR_QM"));
    ErrorNames.insert(std::make_pair(13895, "ERROR_IPSEC_IKE_QM_EXPIRED"));
    ErrorNames.insert(std::make_pair(13896, "ERROR_IPSEC_IKE_TOO_MANY_FILTERS"));
    ErrorNames.insert(std::make_pair(13897, "ERROR_IPSEC_IKE_NEG_STATUS_END"));
    ErrorNames.insert(std::make_pair(13898, "ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL"));
    ErrorNames.insert(std::make_pair(13899, "ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE"));
    ErrorNames.insert(std::make_pair(13900, "ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING"));
    ErrorNames.insert(std::make_pair(13901, "ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING"));
    ErrorNames.insert(std::make_pair(13902, "ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS"));
    ErrorNames.insert(std::make_pair(13903, "ERROR_IPSEC_IKE_RATELIMIT_DROP"));
    ErrorNames.insert(std::make_pair(13904, "ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE"));
    ErrorNames.insert(std::make_pair(13905, "ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE"));
    ErrorNames.insert(std::make_pair(13906, "ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE"));
    ErrorNames.insert(std::make_pair(13907, "ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY"));
    ErrorNames.insert(std::make_pair(13908, "ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE"));
    ErrorNames.insert(std::make_pair(13909, "ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END"));
    ErrorNames.insert(std::make_pair(13910, "ERROR_IPSEC_BAD_SPI"));
    ErrorNames.insert(std::make_pair(13911, "ERROR_IPSEC_SA_LIFETIME_EXPIRED"));
    ErrorNames.insert(std::make_pair(13912, "ERROR_IPSEC_WRONG_SA"));
    ErrorNames.insert(std::make_pair(13913, "ERROR_IPSEC_REPLAY_CHECK_FAILED"));
    ErrorNames.insert(std::make_pair(13914, "ERROR_IPSEC_INVALID_PACKET"));
    ErrorNames.insert(std::make_pair(13915, "ERROR_IPSEC_INTEGRITY_CHECK_FAILED"));
    ErrorNames.insert(std::make_pair(13916, "ERROR_IPSEC_CLEAR_TEXT_DROP"));
    ErrorNames.insert(std::make_pair(13917, "ERROR_IPSEC_AUTH_FIREWALL_DROP"));
    ErrorNames.insert(std::make_pair(13918, "ERROR_IPSEC_THROTTLE_DROP"));
    ErrorNames.insert(std::make_pair(13925, "ERROR_IPSEC_DOSP_BLOCK"));
    ErrorNames.insert(std::make_pair(13926, "ERROR_IPSEC_DOSP_RECEIVED_MULTICAST"));
    ErrorNames.insert(std::make_pair(13927, "ERROR_IPSEC_DOSP_INVALID_PACKET"));
    ErrorNames.insert(std::make_pair(13928, "ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED"));
    ErrorNames.insert(std::make_pair(13929, "ERROR_IPSEC_DOSP_MAX_ENTRIES"));
    ErrorNames.insert(std::make_pair(13930, "ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED"));
    ErrorNames.insert(std::make_pair(13931, "ERROR_IPSEC_DOSP_NOT_INSTALLED"));
    ErrorNames.insert(std::make_pair(13932, "ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES"));
    ErrorNames.insert(std::make_pair(14000, "ERROR_SXS_SECTION_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(14001, "ERROR_SXS_CANT_GEN_ACTCTX"));
    ErrorNames.insert(std::make_pair(14002, "ERROR_SXS_INVALID_ACTCTXDATA_FORMAT"));
    ErrorNames.insert(std::make_pair(14003, "ERROR_SXS_ASSEMBLY_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(14004, "ERROR_SXS_MANIFEST_FORMAT_ERROR"));
    ErrorNames.insert(std::make_pair(14005, "ERROR_SXS_MANIFEST_PARSE_ERROR"));
    ErrorNames.insert(std::make_pair(14006, "ERROR_SXS_ACTIVATION_CONTEXT_DISABLED"));
    ErrorNames.insert(std::make_pair(14007, "ERROR_SXS_KEY_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(14008, "ERROR_SXS_VERSION_CONFLICT"));
    ErrorNames.insert(std::make_pair(14009, "ERROR_SXS_WRONG_SECTION_TYPE"));
    ErrorNames.insert(std::make_pair(14010, "ERROR_SXS_THREAD_QUERIES_DISABLED"));
    ErrorNames.insert(std::make_pair(14011, "ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET"));
    ErrorNames.insert(std::make_pair(14012, "ERROR_SXS_UNKNOWN_ENCODING_GROUP"));
    ErrorNames.insert(std::make_pair(14013, "ERROR_SXS_UNKNOWN_ENCODING"));
    ErrorNames.insert(std::make_pair(14014, "ERROR_SXS_INVALID_XML_NAMESPACE_URI"));
    ErrorNames.insert(std::make_pair(14015, "ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED"));
    ErrorNames.insert(std::make_pair(14016, "ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED"));
    ErrorNames.insert(std::make_pair(14017, "ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE"));
    ErrorNames.insert(std::make_pair(14018, "ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE"));
    ErrorNames.insert(std::make_pair(14019, "ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE"));
    ErrorNames.insert(std::make_pair(14020, "ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT"));
    ErrorNames.insert(std::make_pair(14021, "ERROR_SXS_DUPLICATE_DLL_NAME"));
    ErrorNames.insert(std::make_pair(14022, "ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME"));
    ErrorNames.insert(std::make_pair(14023, "ERROR_SXS_DUPLICATE_CLSID"));
    ErrorNames.insert(std::make_pair(14024, "ERROR_SXS_DUPLICATE_IID"));
    ErrorNames.insert(std::make_pair(14025, "ERROR_SXS_DUPLICATE_TLBID"));
    ErrorNames.insert(std::make_pair(14026, "ERROR_SXS_DUPLICATE_PROGID"));
    ErrorNames.insert(std::make_pair(14027, "ERROR_SXS_DUPLICATE_ASSEMBLY_NAME"));
    ErrorNames.insert(std::make_pair(14028, "ERROR_SXS_FILE_HASH_MISMATCH"));
    ErrorNames.insert(std::make_pair(14029, "ERROR_SXS_POLICY_PARSE_ERROR"));
    ErrorNames.insert(std::make_pair(14030, "ERROR_SXS_XML_E_MISSINGQUOTE"));
    ErrorNames.insert(std::make_pair(14031, "ERROR_SXS_XML_E_COMMENTSYNTAX"));
    ErrorNames.insert(std::make_pair(14032, "ERROR_SXS_XML_E_BADSTARTNAMECHAR"));
    ErrorNames.insert(std::make_pair(14033, "ERROR_SXS_XML_E_BADNAMECHAR"));
    ErrorNames.insert(std::make_pair(14034, "ERROR_SXS_XML_E_BADCHARINSTRING"));
    ErrorNames.insert(std::make_pair(14035, "ERROR_SXS_XML_E_XMLDECLSYNTAX"));
    ErrorNames.insert(std::make_pair(14036, "ERROR_SXS_XML_E_BADCHARDATA"));
    ErrorNames.insert(std::make_pair(14037, "ERROR_SXS_XML_E_MISSINGWHITESPACE"));
    ErrorNames.insert(std::make_pair(14038, "ERROR_SXS_XML_E_EXPECTINGTAGEND"));
    ErrorNames.insert(std::make_pair(14039, "ERROR_SXS_XML_E_MISSINGSEMICOLON"));
    ErrorNames.insert(std::make_pair(14040, "ERROR_SXS_XML_E_UNBALANCEDPAREN"));
    ErrorNames.insert(std::make_pair(14041, "ERROR_SXS_XML_E_INTERNALERROR"));
    ErrorNames.insert(std::make_pair(14042, "ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE"));
    ErrorNames.insert(std::make_pair(14043, "ERROR_SXS_XML_E_INCOMPLETE_ENCODING"));
    ErrorNames.insert(std::make_pair(14044, "ERROR_SXS_XML_E_MISSING_PAREN"));
    ErrorNames.insert(std::make_pair(14045, "ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE"));
    ErrorNames.insert(std::make_pair(14046, "ERROR_SXS_XML_E_MULTIPLE_COLONS"));
    ErrorNames.insert(std::make_pair(14047, "ERROR_SXS_XML_E_INVALID_DECIMAL"));
    ErrorNames.insert(std::make_pair(14048, "ERROR_SXS_XML_E_INVALID_HEXIDECIMAL"));
    ErrorNames.insert(std::make_pair(14049, "ERROR_SXS_XML_E_INVALID_UNICODE"));
    ErrorNames.insert(std::make_pair(14050, "ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK"));
    ErrorNames.insert(std::make_pair(14051, "ERROR_SXS_XML_E_UNEXPECTEDENDTAG"));
    ErrorNames.insert(std::make_pair(14052, "ERROR_SXS_XML_E_UNCLOSEDTAG"));
    ErrorNames.insert(std::make_pair(14053, "ERROR_SXS_XML_E_DUPLICATEATTRIBUTE"));
    ErrorNames.insert(std::make_pair(14054, "ERROR_SXS_XML_E_MULTIPLEROOTS"));
    ErrorNames.insert(std::make_pair(14055, "ERROR_SXS_XML_E_INVALIDATROOTLEVEL"));
    ErrorNames.insert(std::make_pair(14056, "ERROR_SXS_XML_E_BADXMLDECL"));
    ErrorNames.insert(std::make_pair(14057, "ERROR_SXS_XML_E_MISSINGROOT"));
    ErrorNames.insert(std::make_pair(14058, "ERROR_SXS_XML_E_UNEXPECTEDEOF"));
    ErrorNames.insert(std::make_pair(14059, "ERROR_SXS_XML_E_BADPEREFINSUBSET"));
    ErrorNames.insert(std::make_pair(14060, "ERROR_SXS_XML_E_UNCLOSEDSTARTTAG"));
    ErrorNames.insert(std::make_pair(14061, "ERROR_SXS_XML_E_UNCLOSEDENDTAG"));
    ErrorNames.insert(std::make_pair(14062, "ERROR_SXS_XML_E_UNCLOSEDSTRING"));
    ErrorNames.insert(std::make_pair(14063, "ERROR_SXS_XML_E_UNCLOSEDCOMMENT"));
    ErrorNames.insert(std::make_pair(14064, "ERROR_SXS_XML_E_UNCLOSEDDECL"));
    ErrorNames.insert(std::make_pair(14065, "ERROR_SXS_XML_E_UNCLOSEDCDATA"));
    ErrorNames.insert(std::make_pair(14066, "ERROR_SXS_XML_E_RESERVEDNAMESPACE"));
    ErrorNames.insert(std::make_pair(14067, "ERROR_SXS_XML_E_INVALIDENCODING"));
    ErrorNames.insert(std::make_pair(14068, "ERROR_SXS_XML_E_INVALIDSWITCH"));
    ErrorNames.insert(std::make_pair(14069, "ERROR_SXS_XML_E_BADXMLCASE"));
    ErrorNames.insert(std::make_pair(14070, "ERROR_SXS_XML_E_INVALID_STANDALONE"));
    ErrorNames.insert(std::make_pair(14071, "ERROR_SXS_XML_E_UNEXPECTED_STANDALONE"));
    ErrorNames.insert(std::make_pair(14072, "ERROR_SXS_XML_E_INVALID_VERSION"));
    ErrorNames.insert(std::make_pair(14073, "ERROR_SXS_XML_E_MISSINGEQUALS"));
    ErrorNames.insert(std::make_pair(14074, "ERROR_SXS_PROTECTION_RECOVERY_FAILED"));
    ErrorNames.insert(std::make_pair(14075, "ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT"));
    ErrorNames.insert(std::make_pair(14076, "ERROR_SXS_PROTECTION_CATALOG_NOT_VALID"));
    ErrorNames.insert(std::make_pair(14077, "ERROR_SXS_UNTRANSLATABLE_HRESULT"));
    ErrorNames.insert(std::make_pair(14078, "ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING"));
    ErrorNames.insert(std::make_pair(14079, "ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE"));
    ErrorNames.insert(std::make_pair(14080, "ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME"));
    ErrorNames.insert(std::make_pair(14081, "ERROR_SXS_ASSEMBLY_MISSING"));
    ErrorNames.insert(std::make_pair(14082, "ERROR_SXS_CORRUPT_ACTIVATION_STACK"));
    ErrorNames.insert(std::make_pair(14083, "ERROR_SXS_CORRUPTION"));
    ErrorNames.insert(std::make_pair(14084, "ERROR_SXS_EARLY_DEACTIVATION"));
    ErrorNames.insert(std::make_pair(14085, "ERROR_SXS_INVALID_DEACTIVATION"));
    ErrorNames.insert(std::make_pair(14086, "ERROR_SXS_MULTIPLE_DEACTIVATION"));
    ErrorNames.insert(std::make_pair(14087, "ERROR_SXS_PROCESS_TERMINATION_REQUESTED"));
    ErrorNames.insert(std::make_pair(14088, "ERROR_SXS_RELEASE_ACTIVATION_CONTEXT"));
    ErrorNames.insert(std::make_pair(14089, "ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY"));
    ErrorNames.insert(std::make_pair(14090, "ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE"));
    ErrorNames.insert(std::make_pair(14091, "ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME"));
    ErrorNames.insert(std::make_pair(14092, "ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE"));
    ErrorNames.insert(std::make_pair(14093, "ERROR_SXS_IDENTITY_PARSE_ERROR"));
    ErrorNames.insert(std::make_pair(14094, "ERROR_MALFORMED_SUBSTITUTION_STRING"));
    ErrorNames.insert(std::make_pair(14095, "ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN"));
    ErrorNames.insert(std::make_pair(14096, "ERROR_UNMAPPED_SUBSTITUTION_STRING"));
    ErrorNames.insert(std::make_pair(14097, "ERROR_SXS_ASSEMBLY_NOT_LOCKED"));
    ErrorNames.insert(std::make_pair(14098, "ERROR_SXS_COMPONENT_STORE_CORRUPT"));
    ErrorNames.insert(std::make_pair(14099, "ERROR_ADVANCED_INSTALLER_FAILED"));
    ErrorNames.insert(std::make_pair(14100, "ERROR_XML_ENCODING_MISMATCH"));
    ErrorNames.insert(std::make_pair(14101, "ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT"));
    ErrorNames.insert(std::make_pair(14102, "ERROR_SXS_IDENTITIES_DIFFERENT"));
    ErrorNames.insert(std::make_pair(14103, "ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT"));
    ErrorNames.insert(std::make_pair(14104, "ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY"));
    ErrorNames.insert(std::make_pair(14105, "ERROR_SXS_MANIFEST_TOO_BIG"));
    ErrorNames.insert(std::make_pair(14106, "ERROR_SXS_SETTING_NOT_REGISTERED"));
    ErrorNames.insert(std::make_pair(14107, "ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE"));
    ErrorNames.insert(std::make_pair(14108, "ERROR_SMI_PRIMITIVE_INSTALLER_FAILED"));
    ErrorNames.insert(std::make_pair(14109, "ERROR_GENERIC_COMMAND_FAILED"));
    ErrorNames.insert(std::make_pair(14110, "ERROR_SXS_FILE_HASH_MISSING"));
    ErrorNames.insert(std::make_pair(15000, "ERROR_EVT_INVALID_CHANNEL_PATH"));
    ErrorNames.insert(std::make_pair(15001, "ERROR_EVT_INVALID_QUERY"));
    ErrorNames.insert(std::make_pair(15002, "ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(15003, "ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(15004, "ERROR_EVT_INVALID_PUBLISHER_NAME"));
    ErrorNames.insert(std::make_pair(15005, "ERROR_EVT_INVALID_EVENT_DATA"));
    ErrorNames.insert(std::make_pair(15007, "ERROR_EVT_CHANNEL_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(15008, "ERROR_EVT_MALFORMED_XML_TEXT"));
    ErrorNames.insert(std::make_pair(15009, "ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL"));
    ErrorNames.insert(std::make_pair(15010, "ERROR_EVT_CONFIGURATION_ERROR"));
    ErrorNames.insert(std::make_pair(15011, "ERROR_EVT_QUERY_RESULT_STALE"));
    ErrorNames.insert(std::make_pair(15012, "ERROR_EVT_QUERY_RESULT_INVALID_POSITION"));
    ErrorNames.insert(std::make_pair(15013, "ERROR_EVT_NON_VALIDATING_MSXML"));
    ErrorNames.insert(std::make_pair(15014, "ERROR_EVT_FILTER_ALREADYSCOPED"));
    ErrorNames.insert(std::make_pair(15015, "ERROR_EVT_FILTER_NOTELTSET"));
    ErrorNames.insert(std::make_pair(15016, "ERROR_EVT_FILTER_INVARG"));
    ErrorNames.insert(std::make_pair(15017, "ERROR_EVT_FILTER_INVTEST"));
    ErrorNames.insert(std::make_pair(15018, "ERROR_EVT_FILTER_INVTYPE"));
    ErrorNames.insert(std::make_pair(15019, "ERROR_EVT_FILTER_PARSEERR"));
    ErrorNames.insert(std::make_pair(15020, "ERROR_EVT_FILTER_UNSUPPORTEDOP"));
    ErrorNames.insert(std::make_pair(15021, "ERROR_EVT_FILTER_UNEXPECTEDTOKEN"));
    ErrorNames.insert(std::make_pair(15022, "ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL"));
    ErrorNames.insert(std::make_pair(15023, "ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE"));
    ErrorNames.insert(std::make_pair(15024, "ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE"));
    ErrorNames.insert(std::make_pair(15025, "ERROR_EVT_CHANNEL_CANNOT_ACTIVATE"));
    ErrorNames.insert(std::make_pair(15026, "ERROR_EVT_FILTER_TOO_COMPLEX"));
    ErrorNames.insert(std::make_pair(15027, "ERROR_EVT_MESSAGE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(15028, "ERROR_EVT_MESSAGE_ID_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(15029, "ERROR_EVT_UNRESOLVED_VALUE_INSERT"));
    ErrorNames.insert(std::make_pair(15030, "ERROR_EVT_UNRESOLVED_PARAMETER_INSERT"));
    ErrorNames.insert(std::make_pair(15031, "ERROR_EVT_MAX_INSERTS_REACHED"));
    ErrorNames.insert(std::make_pair(15032, "ERROR_EVT_EVENT_DEFINITION_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(15033, "ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(15034, "ERROR_EVT_VERSION_TOO_OLD"));
    ErrorNames.insert(std::make_pair(15035, "ERROR_EVT_VERSION_TOO_NEW"));
    ErrorNames.insert(std::make_pair(15036, "ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY"));
    ErrorNames.insert(std::make_pair(15037, "ERROR_EVT_PUBLISHER_DISABLED"));
    ErrorNames.insert(std::make_pair(15038, "ERROR_EVT_FILTER_OUT_OF_RANGE"));
    ErrorNames.insert(std::make_pair(15080, "ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE"));
    ErrorNames.insert(std::make_pair(15081, "ERROR_EC_LOG_DISABLED"));
    ErrorNames.insert(std::make_pair(15082, "ERROR_EC_CIRCULAR_FORWARDING"));
    ErrorNames.insert(std::make_pair(15083, "ERROR_EC_CREDSTORE_FULL"));
    ErrorNames.insert(std::make_pair(15084, "ERROR_EC_CRED_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(15085, "ERROR_EC_NO_ACTIVE_CHANNEL"));
    ErrorNames.insert(std::make_pair(15100, "ERROR_MUI_FILE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(15101, "ERROR_MUI_INVALID_FILE"));
    ErrorNames.insert(std::make_pair(15102, "ERROR_MUI_INVALID_RC_CONFIG"));
    ErrorNames.insert(std::make_pair(15103, "ERROR_MUI_INVALID_LOCALE_NAME"));
    ErrorNames.insert(std::make_pair(15104, "ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME"));
    ErrorNames.insert(std::make_pair(15105, "ERROR_MUI_FILE_NOT_LOADED"));
    ErrorNames.insert(std::make_pair(15106, "ERROR_RESOURCE_ENUM_USER_STOP"));
    ErrorNames.insert(std::make_pair(15107, "ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED"));
    ErrorNames.insert(std::make_pair(15108, "ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME"));
    ErrorNames.insert(std::make_pair(15200, "ERROR_MCA_INVALID_CAPABILITIES_STRING"));
    ErrorNames.insert(std::make_pair(15201, "ERROR_MCA_INVALID_VCP_VERSION"));
    ErrorNames.insert(std::make_pair(15202, "ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION"));
    ErrorNames.insert(std::make_pair(15203, "ERROR_MCA_MCCS_VERSION_MISMATCH"));
    ErrorNames.insert(std::make_pair(15204, "ERROR_MCA_UNSUPPORTED_MCCS_VERSION"));
    ErrorNames.insert(std::make_pair(15205, "ERROR_MCA_INTERNAL_ERROR"));
    ErrorNames.insert(std::make_pair(15206, "ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED"));
    ErrorNames.insert(std::make_pair(15207, "ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE"));
    ErrorNames.insert(std::make_pair(15250, "ERROR_AMBIGUOUS_SYSTEM_DEVICE"));
    ErrorNames.insert(std::make_pair(15299, "ERROR_SYSTEM_DEVICE_NOT_FOUND"));
    ErrorNames.insert(std::make_pair(15300, "ERROR_HASH_NOT_SUPPORTED"));
    ErrorNames.insert(std::make_pair(15301, "ERROR_HASH_NOT_PRESENT"));
}

const char* ErrorCodeToName(unsigned int ErrorCode)
{
    if(ErrorNames.find(ErrorCode) == ErrorNames.end())
        return nullptr;

    return ErrorNames[ErrorCode];
}